btrfs-progs/check
Qu Wenruo 38aff3d1ed btrfs-progs: check: lowmem: Add ability to repair dir item with mismatched hash
For DIR_ITEM with mismatch hash, we could just remove the offending dir
item from the tree.

Lowmem mode will handle the rest, either re-create the correct dir_item
or move the orphan inode to lost+found.

This is especially important for old filesystems, since later kernel
introduces stricter tree-checker, which could detect such hash mismatch
and refuse to read the corrupted leaf.

With this repair ability, user could repair with 'btrfs check
--mode=lowmem --repair'.

Link: https://bugzilla.opensuse.org/show_bug.cgi?id=1111991
Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2019-01-15 18:42:13 +01:00
..
main.c btrfs-progs: check: orig: Add dev_item check for used bytes and total bytes 2019-01-15 18:42:13 +01:00
mode-common.c btrfs-progs: check: lowmem: Add ability to repair dir item with mismatched hash 2019-01-15 18:42:13 +01:00
mode-common.h btrfs-progs: check: lowmem: Add ability to repair dir item with mismatched hash 2019-01-15 18:42:13 +01:00
mode-lowmem.c btrfs-progs: check: lowmem: Add ability to repair dir item with mismatched hash 2019-01-15 18:42:13 +01:00
mode-lowmem.h btrfs-progs: check: lowmem: Add ability to repair dir item with mismatched hash 2019-01-15 18:42:13 +01:00
mode-original.h btrfs-progs: check/original: Detect and repair wrong inline ram_bytes 2018-08-06 15:00:44 +02:00