PTT評價

[閒聊] 群輝 btrfs 救援 invalid root flags

看板Storage_Zone標題[閒聊] 群輝 btrfs 救援 invalid root flags作者
tomsawyer
(安安)
時間推噓 7 推:7 噓:0 →:14

網上衝浪看到的,隨手做個紀錄,以免之後用的到

------------------

問題:
群輝在他們的btrfs裡加了一點料
使得你如果拿去linux kernel > 4.15.108的版本會掛不上

解法:
用Ubuntu 18.04.4就能掛載了

原因:

Linux在 https://github.com/torvalds/linux/commit/259ee77 加了root flag檢查

而群輝在 linux/include/uapi/linux/btrfs_tree.h裡對一些flag加料
具體在L852行附近,使得跟上面這個commit衝突

呈現:

掛載時會出現類似的關鍵字
BTRFS critical (device xxx): corrupt leaf: root=1 block=xxxxxxxxxx slot=1,
invalid root flags, have 0x400000000 expect mask 0x1000000000001

相關網頁:
https://redd.it/u6y5qm

https://yadom.in/archives/mount-synology-hard-drive-on-linux.html

https://www.v2ex.com/t/1069345#reply19

https://www.mobile01.com/topicdetail.php?f=494&t=6919201



--

※ PTT 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.142.134.241 (臺灣)

※ 文章網址:
https://www.ptt.cc/Storage_Zone/E.AS2nymiItapY

B0988698088 09/07 16:43可以問清楚為什麼這樣做再發

B0988698088 09/07 16:43通常不希望你做某事,表示那個版本以上掛了可能有

B0988698088 09/07 16:43操作會影響資料。你不會希望你掛起來結果反而資料

B0988698088 09/07 16:43被弄壞吧?

B0988698088 09/07 16:43弄清楚原因不然這裡一堆不做功課的噴仔只會亂嘴而

B0988698088 09/07 16:43

https://kb.synology.com/zh-tw/DSM/tutorial/How_can_I_recover_data_from_my_DiskSt

ation_using_a_PC 官方其實也寫了要18.04 或許是魔改btrfs能有特殊的功能吧 無論如何應該不會有很多人注意到系統要求,以及這篇主要是記錄為什麼會這樣

※ 編輯: tomsawyer (180.217.34.141 臺灣), 09/07/2024 17:28:32

filiaslayers09/08 01:10想問一下,用18.04掛載就沒有問題嗎?擔心群輝的魔改

filiaslayers09/08 01:11會讓18.04就算能掛載還是會有隱性的小問題

filiaslayers09/08 01:12至於某個只會滿嘴屁話又講不出什麼什麼建設性句子的

filiaslayers09/08 01:12人不用理他沒關系,板上都知道這個人

為了避免破壞原有的結構,不要去用btrfs-check之類的東西,誰知道會不會破壞原有的btrfs,把分區用readonly掛起來最保險 阿不過官方就說能用18.04掛了,就別太擔心(?)

fmp1234 09/08 07:39細節讚

※ 編輯: tomsawyer (180.217.34.141 臺灣), 09/08/2024 11:57:52

birdy590 09/08 12:20其實 reddit 那篇就有答案了~

randy061 09/08 12:31謝謝分享

※ 編輯: tomsawyer (36.239.153.7 臺灣), 09/08/2024 17:02:17

Cubelia 09/08 17:45起碼有異機撈資料的方案,不會無法掛載

Cubelia 09/08 17:46Q在這點真的要加強,乾脆弄個自家Live USB算了

ornv 09/08 21:01Q學S 到時就換黑Q就出現了

都是mdadm+lvm 配ext4/btrfs 都沒差啦,只要能用linux就能掛了不是? 只怕有偷偷魔改,和linux mainline不相容,那就尷尬了

birdy590 09/08 21:18x86以外的平台 核心版本常常是被SDK卡死 不能更新

birdy590 09/08 21:19但是有些功能新版才有 各家就會開始魔改 "backport"

birdy590 09/08 21:20這問題看來是舊版核心 btrfs 有 bug, 在修好前搞了

birdy590 09/08 21:21一個 workaround 讓它能用 所以用舊核心掛載就可以

不太像,加的flag名看起來是有特殊功能

※ 編輯: tomsawyer (36.239.153.7 臺灣), 09/08/2024 22:24:19

birdy590 09/08 23:18有加特殊功能 但是只是拿來搬資料不影響