Re: tree-checker read time corruption

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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.






[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux