Portál AbcLinuxu, 5. května 2025 09:40
BTRFS critical (device md127): corrupt leaf: root=1 block=8212462***** slot=45, invalid root item size, have 239 expect 439
btrfsck
ani btrfs scrub
žádnou chybu nenašel. Lze to nějak jednoduše opravit?
Řešení dotazu:
Má ten stroj ECC? Jak na něm dopadne memtest
? Je kernel tainted (bloby všeho druhu, experimentální driver od USB síťovky)?
Btrfs Wiki o tomhle v podstatě tvrdí, byť zoufale lámanou angličtinou, že nanejvýš pravděpodobnou příčinou bude problém/bitflip v RAM nebo nelegitimní zápis do RAM, při troše smůly tam, kde má Btrfs data.
239 = 0000 1110 1111 439 = 0001 1011 0111
btrfs scrubAno, protože scrub jenom přepočítává checksumy, ale nekontroluje, že strom je furt strom.
btrfsck žádnou chybu nenašelTak to máš dobré, protože já když jsem měl tenhle problém (dvakrát, pak jsem btrfs přestal na notebooku používat), tak chybu našel a opravil ji tak, že smazal všechno okolo.
Lze to nějak jednoduše opravit?Můžeš se ponořit do binárního formátu a zkusit to fixnout. A nebo to smazat a vytvořit znova. Jak jsem psal, mně se to opakovalo -- takže můžeš prohlásit, že tento stroj není hoden btrfs, a přejít na FS s fungujícím fsck.
takže můžeš prohlásit, že tento stroj není hoden btrfs, a přejít na FS s fungujícím fsck
Uf. A co takhle raději přejít na stroj s fungující RAM? Nebylo by to lepší?
Navrhuješ tedy přejít na nefunkční FS ve stylu 90. let (zato však s (údajně) funkčním fsck) a namlouvat si, že se mě silent data corruption netýká a že mi moje data mizí jenom pomalu a jenom postupně, takže to snad není tak hrozné…? To jako fakt? Opravdu? To zní jako velmi špatný vtip.
To je veľmi pokrokové zveriť súborovému systému, ktorý pri rozpade urobí z dát len náhodne data. Z iných aspoň niečo dostaneš.
Uf. A co takhle raději přejít na stroj s fungující RAM? Nebylo by to lepší?Jak si mohu být jist, že jde o chybu RAM, a ne o například race condition v btrfs? (memtest86+ proběhl bez chyb a žádné jiné záhady se v systému nějak neděly)
BTRFS critical (device md127): corrupt leaf: root=1 block=8212462***** slot=45, invalid root item size, have 239 expect 439Problém popisuje tento mailing list. V závěru mailing listu se můžeš dočíst, že se nejedná o chybu v datové struktuře btrfs, ale pouze o falešnou chybovou hlášku. Po aktualizaci na kernel 5.9 se falešná chybová hláška již neobjevuje. Cituji poslední komunikaci mezi reportérem chyby a Qu Wenruo, vývojářem btrfs, který věc vysvětluje:
> I'm very sorry, but I didn't have the time to do the btrfs-image dump. > I was just about to go back to work on the problem, but first I've > updated my system and now the problem is gone. > My system (Debian testing) is running with the latest available kernel > 5.9.0-2 and btrfs-progs 5.9. > The last time I updated my system was 60 days ago and at this point > the problem still existed. > So, for now, no more corrupt leaf; invalid root item size erros. Oh, that's because we have located the cause and fixed the false alert. The fix is this one: 1465af12e254 ("btrfs: tree-checker: fix false alert caused by legacy btrfs root item") Some legacy root item can have smaller size than what we have now. Thanks for another reporter's dump, we fixed it and existing kernels should receive the backport already. Thanks, Qu
aktéž nevidím žádný smysl v označování vlastních komentářů jako řešení.To je jen reakce na ty fanatické propagátory BTRFS. Bohužel, abclinuxu neumí, aby a) nějaké "řešení" bylo označeno za "ne-řešení", b) aby se bral v potaz původní tazatel. Takhle kdokoliv může označit za řešení jakoukoliv pitomost, i když to nikomu nepomůže...
proto mě to tenkrát nedovolilo FS namountovatJen jestli to není výmluva, abys neprohrál slovní bitvu ve vedlejším vlákně
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.