On 2/13/20 1:24 AM, Qu Wenruo wrote:
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
Thanks for support. Deleting inode 265 manually fixed this mount issue
with kernel >= 5.2 for me.
[ 13.624381] BTRFS error (device dm-1): block=122395779072 read time
tree block corruption detected
Booting from 4.19 kernel can mount fs again.