On 2020/3/6 上午1:01, Arun Persaud wrote: > Hi > >>> I use btrfs for a partition (/dev/sda2) and when I try to boot with a >>> newer kernel (on openSUSE tumbleweed), the system doesn't finish the >>> boot and goes into an emergency console and I get the following error >>> (don't have a log at the moment, but can produce one if needed): >>> >>> BTRFS critical, corrupt leaf... >> >> Complete dmesg is needed, thanks. > > dmesg is attached It's inode generation underflow, caused by some older kernel. It can be fixed by v5.4 btrfs-progs, by running btrfs check --repair. Thanks, Qu > >>> However, if I boot with an older kernel (5.1.10), everything works OK. >> >> Sounds like it's hitting the tree checker which is much more >> sophisticated in kernel 5.5 than 5.1, so the problem is still there >> it's just that 5.1 doesn't complain. What is the kernel history of the >> file system? Was kernel 5.2.0 through 5.2.14 used? > > I'm pretty sure I tried all those kernels, but I don't have a history of > it (the problematic partition is used for /var, so no record via > journalctl). > > Here are some more information about the system that doesn't boot: > > uname -a > > Linux ndcxii 5.5.6-1-default #1 SMP Mon Feb 24 09:02:31 UTC 2020 > (4a830b1) x86_64 x86_64 x86_64 GNU/Linux > > btrfs-progs v5.4.1 > >>> this was with btrfs-progs 5.4.1 >>> >>> both didn't find any error or repaired anything, so they suggested to >>> email the list. >> >> That's unexpected. What about: >> >> btrfs check --mode=lowmem /dev/ > > This showed some errors: > > [1/7] checking root items > [2/7] checking extents > [3/7] checking free space cache > [4/7] checking fs roots > ERROR: root 5 EXTENT_DATA[394462 0] csum missing, have: 0, expected: 4096 > ERROR: root 5 INODE[394462] nbytes 0 not equal to extent_size 4096 > ERROR: root 5 EXTENT_DATA[785218 8192] csum missing, have: 0, expected: 4096 > ERROR: root 5 EXTENT_DATA[785218 24576] csum missing, have: 0, expected: > 4096 > ERROR: root 5 EXTENT_DATA[785218 32768] csum missing, have: 0, expected: > 98304 > ERROR: root 5 EXTENT_DATA[785218 147456] csum missing, have: 0, > expected: 143360 > ERROR: root 5 INODE[785218] nbytes 49152 not equal to extent_size 299008 > ERROR: errors found in fs roots > Opening filesystem to check... > Checking filesystem on /dev/sda2 > UUID: e7b29c18-4707-48a4-8c29-dd4dd70378b8 > found 17940045824 bytes used, error(s) found > total csum bytes: 10656228 > total tree bytes: 145596416 > total fs tree bytes: 90025984 > total extent tree bytes: 35987456 > btree space waste bytes: 33201183 > file data blocks allocated: 28054265856 > referenced 14007422976 > > For the working system: > > uname -a > Linux ndcxii 5.1.10-1-default #1 SMP Mon Jun 17 14:44:35 UTC 2019 > (ad24342) x86_64 x86_64 x86_64 GNU/Linux > > btrfs-progs v5.4.1 > > > Let me know if I can provide anything else > > Arun >
Attachment:
signature.asc
Description: OpenPGP digital signature
