btrfs-progs/check
Josef Bacik 04520da77b btrfs-progs: check: do not infinite loop on corrupt keys with lowmem mode
By enabling the lowmem checks properly I uncovered the case where test
fsck/007 will infinite loop at the detection stage.  This is because
when checking the inode item we will just btrfs_next_item(), and because
we ignore check tree block failures at read time we don't get an -EIO
from btrfs_next_leaf.  Generally what check usually does is validate the
leaves/nodes as we hit them, but in this case we're not doing that.  Fix
this by checking the leaf if we move to the next one and if it fails
bail.  This allows us to pass the fsck/007 test with lowmem.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2021-08-25 15:39:48 +02:00
..
common.h btrfs-progs: check: detect and fix invalid used for block groups 2021-08-25 15:38:54 +02:00
main.c btrfs-progs: check: do not double add unaligned extent records 2021-08-25 15:38:54 +02:00
mode-common.c btrfs-progs: check: add the ability to reset btrfs_dev_item::bytes_used 2021-06-19 22:07:49 +02:00
mode-common.h btrfs-progs: require full nodesize alignement for subpage support 2021-08-20 14:45:58 +02:00
mode-lowmem.c btrfs-progs: check: do not infinite loop on corrupt keys with lowmem mode 2021-08-25 15:39:48 +02:00
mode-lowmem.h btrfs-progs: check btrfs_super_used in lowmem check 2021-08-25 15:38:54 +02:00
mode-original.h btrfs-progs: check/original: detect directory inode with nlinks >= 2 2021-07-30 15:50:48 +02:00
qgroup-verify.c btrfs-progs: move repair.[ch] to common/ 2021-05-06 16:41:47 +02:00
qgroup-verify.h btrfs-progs: move ctree.c to kernel-shared/ 2020-08-31 17:01:05 +02:00