btrfs-progs/check
Josef Bacik a832d36b59 btrfs-progs: check: detect and fix invalid used for block groups
The lowmem mode validates the used field of the block group item, but
the normal mode does not.  Fix this by keeping a running tally of what
we think the used value for the block group should be, and then if it
mismatches report an error and fix the problem if we have repair set.
We have to keep track of pending extents because we process leaves as we
see them, so it could be much later in the process that we find the
block group item to associate the extents with.

Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2021-08-25 15:38:54 +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: detect and fix invalid used for block groups 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: require full nodesize alignement for subpage support 2021-08-20 14:45:58 +02:00
mode-lowmem.h btrfs-progs: check: drop unused fs_info 2020-08-31 17:01:03 +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