Hi David, Would you please consider merging this patchset? There are at least 2 user reporting latest kernel tree checker refuse to mount their fs, and this patch is needed to allow btrfs-progs to fix the fs. Thanks, Qu On 2018/10/25 下午3:44, Qu Wenruo wrote: > This patchset can be fetched from github: > https://github.com/adam900710/btrfs-progs/tree/repair_bad_dir_item_hash > > This is still based on the latest stable v4.17.1 branch (which is already a > little old now) > > We have report from suse bugzilla where user report latest kernel refuse > to mount the fs. > > The problem turns out to be that some old kernel (around Jan 2017) has a > bug that could leads to corrupted dir item with mismatch hash. > > This patchset will allow btrfs check --repair to repair such problem. > > Qu Wenruo (4): > btrfs-progs: lowmem check: Add ability to repair dir item with > mismatch hash > btrfs-progs: original check: Use mismatch_dir_hash_record to record > bad dir items > btrfs-progs: original check: Add ability to repair dir item with > invalid hash > btrfs-progs: fsck-tests: Make 026-bad-dir-item-name test case to > verify if btrfs-check can also repair it > > check/main.c | 121 +++++++++++++++++- > check/mode-common.c | 51 ++++++++ > check/mode-common.h | 5 +- > check/mode-lowmem.c | 46 ++++++- > check/mode-lowmem.h | 1 + > check/mode-original.h | 14 ++ > ctree.h | 3 + > dir-item.c | 6 +- > .../026-bad-dir-item-name/description.txt | 41 ++++++ > .../fsck-tests/026-bad-dir-item-name/test.sh | 13 -- > 10 files changed, 272 insertions(+), 29 deletions(-) > create mode 100644 tests/fsck-tests/026-bad-dir-item-name/description.txt > delete mode 100755 tests/fsck-tests/026-bad-dir-item-name/test.sh >