On 2020/2/12 下午10:20, telsch wrote: > > > On 2/12/20 1:41 AM, Qu Wenruo wrote: >> >> >> On 2020/2/11 下午10:17, telsch wrote: >>> Dear devs, >>> >>> >>> >>> after upgrading from kernel 4.19.101 to 5.5.2 i got read time tree block >>> error as >>> >>> described here: >>> >>>      https://btrfs.wiki.kernel.org/index.php/Tree-checker#For_end_users >>> >>> >>> >>> Working with kernel 4.19.101: >>> >>> >>> >>> Linux Arch 4.19.101-1-lts #1 SMP Sat, 01 Feb 2020 16:35:36 +0000 x86_64 >>> GNU/Linux >>> >>> >>> >>> btrfs --version >>> >>> btrfs-progs v5.4 >>> >>> >>> >>> btrfs fi show >>> >>> Label: none  uuid: 56e753f4-1346-49ad-a34f-e93a0235b82a >>> >>>          Total devices 1 FS bytes used 92.54GiB >>> >>>          devid    1 size 95.14GiB used 95.14GiB path /dev/mapper/home >>> >>> >>> >>> btrfs fi df /home >>> >>> Data, single: total=94.11GiB, used=91.95GiB >>> >>> System, single: total=31.00MiB, used=12.00KiB >>> >>> Metadata, single: total=1.00GiB, used=599.74MiB >>> >>> GlobalReserve, single: total=199.32MiB, used=0.00B >>> >>> >>> >>> After upgrading to kernel 5.5.2: >>> >>> >>> >>> [   13.413025] BTRFS: device fsid 56e753f4-1346-49ad-a34f-e93a0235b82a >>> devid 1 transid 468295 /dev/dm-1 scanned by systemd-udevd (417) >>> >>> [   13.589952] BTRFS info (device dm-1): force zstd compression, level 3 >>> >>> [   13.589956] BTRFS info (device dm-1): disk space caching is enabled >>> >>> [   13.594707] BTRFS info (device dm-1): bdev /dev/mapper/home errs: wr >>> 0, rd 47, flush 0, corrupt 0, gen 0 >>> >>> [   13.622912] BTRFS info (device dm-1): enabling ssd optimizations >>> >>> [   13.624300] BTRFS critical (device dm-1): corrupt leaf: root=5 >>> block=122395779072 slot=10 ino=265, invalid inode generation: has >>> 18446744073709551492 expect [0, 468296] >> >> An older kernel caused underflow/garbage generation. >> Much strict tree checker is detecting it and rejecting the tree block to >> prevent further corruption. >> >> It can be fixed in by btrfs-progs v5.4 and later, by using 'btrfs check >> --repair' >> >> Early btrfs-progs can't detect nor fix it. >> >> Thanks, >> Qu >> > > As you suggest booting to kernel 5.5.3 with btrfs-progs v5.4 and run > 'btrfs check --repair'. But didn't fix this error. > > mount: /home: can't read superblock on /dev/mapper/home. > [  325.121475] BTRFS info (device dm-1): force zstd compression, level 3 > [  325.121482] BTRFS info (device dm-1): disk space caching is enabled > [  325.126234] BTRFS info (device dm-1): bdev /dev/mapper/home errs: wr > 0, rd 47, flush 0, corrupt 0, gen 0 > [  325.143521] BTRFS info (device dm-1): enabling ssd optimizations > [  325.146138] BTRFS critical (device dm-1): corrupt leaf: root=5 > block=122395779072 slot=10 ino=265, invalid inode generation: has > 18446744073709551492 expect [0, 469820] > [  325.148637] BTRFS error (device dm-1): block=122395779072 read time > tree block corruption detected According to the repair log, btrfs-progs doesn't detect it at all. Thus I'm not sure if it's a bug in btrfs-progs or it's just not newer enough. Anyway, you can delete inode 265 manually using older kernel. Thanks, Qu > >>> >>> [   13.624381] BTRFS error (device dm-1): block=122395779072 read time >>> tree block corruption detected >>> >>> >>> >>> >>> >>> Booting from 4.19 kernel can mount fs again. >>