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

硬碟

980

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

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

問題:
群輝在他們的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.cc), 來自: 220.142.134.241 (臺灣)※ 文章網址: https://www.ptt.cc/bbs/Storage_Zone/M.1725683082.A.04E.html
B09886980881樓可以問清楚為什麼這樣做再發 09/07 16:43
B09886980882樓通常不希望你做某事,表示那個版本以上掛了可能有 09/07 16:43
B09886980883樓操作會影響資料。你不會希望你掛起來結果反而資料 09/07 16:43
B09886980884樓被弄壞吧? 09/07 16:43
B09886980885樓弄清楚原因不然這裡一堆不做功課的噴仔只會亂嘴而 09/07 16:43
B09886980886樓 09/07 16:43
ation_using_a_PC 官方其實也寫了要18.04 或許是魔改btrfs能有特殊的功能吧 無論如何應該不會有很多人注意到系統要求,以及這篇主要是記錄為什麼會這樣
filiaslayers7樓想問一下,用18.04掛載就沒有問題嗎?擔心群輝的魔改 09/08 01:10
filiaslayers8樓會讓18.04就算能掛載還是會有隱性的小問題 09/08 01:11
filiaslayers9樓至於某個只會滿嘴屁話又講不出什麼什麼建設性句子的 09/08 01:12
filiaslayers10樓人不用理他沒關系,板上都知道這個人 09/08 01:12
為了避免破壞原有的結構,不要去用btrfs-check之類的東西,誰知道會不會破壞原有的btrfs,把分區用readonly掛起來最保險 阿不過官方就說能用18.04掛了,就別太擔心(?)
fmp123411樓細節讚 09/08 07:39
birdy59012樓其實 reddit 那篇就有答案了~ 09/08 12:20
randy06113樓謝謝分享 09/08 12:31
Cubelia14樓起碼有異機撈資料的方案,不會無法掛載 09/08 17:45
Cubelia15樓Q在這點真的要加強,乾脆弄個自家Live USB算了 09/08 17:46
ornv16樓Q學S 到時就換黑Q就出現了 09/08 21:01
都是mdadm+lvm 配ext4/btrfs 都沒差啦,只要能用linux就能掛了不是? 只怕有偷偷魔改,和linux mainline不相容,那就尷尬了
birdy59017樓x86以外的平台 核心版本常常是被SDK卡死 不能更新 09/08 21:18
birdy59018樓但是有些功能新版才有 各家就會開始魔改 "backport" 09/08 21:19
birdy59019樓這問題看來是舊版核心 btrfs 有 bug, 在修好前搞了 09/08 21:20
birdy59020樓一個 workaround 讓它能用 所以用舊核心掛載就可以 09/08 21:21
不太像,加的flag名看起來是有特殊功能
birdy59021樓有加特殊功能 但是只是拿來搬資料不影響 09/08 23:18
s25g5d422樓誰是噴仔不好說欸 09/10 10:17