From: Su Yue <suy.f...@cn.fujitsu.com> This patchset can be fetched from my github(based on v4.17.1): https://github.com/Damenly/btrfs-progs/tree/lowmem_extref
The patchset aims to support check and repair errors about inode_extref in lowmem mode. patch[1-2] let btrfs_unlink() detect inode_extref. patch[3] fixes a minor bug in check_dir_item due to my careless long ago. patch[4] fixes a bug about inconsistent path in check_fs_roots() under repair. patch[5] fixes a corner case about traversal of inode items. patch[6] enable inode_extref repair support and remove unnecessary checks. patch[7] add a test image, it can verify above patches except patch[3]. Su Yue (6): btrfs-progs: adjust arguments of btrfs_lookup_inode_extref() btrfs-progs: make btrfs_unlink() lookup inode_extref btrfs-progs: lowmem check: find dir_item by di_key in check_dir_item() btrfs-progs: lowmem: search key of root again after check_fs_root() under repair btrfs-progs: lowmem: continue to check item in last slot while checking inodes btrfs-progs: lowmem: optimization and repair for check_inode_extref() check/mode-lowmem.c | 148 +++++++++++++++++++++++++++++++++++--------- ctree.h | 6 +- inode-item.c | 6 +- inode.c | 14 ++++- 4 files changed, 139 insertions(+), 35 deletions(-) -- 2.18.0