The head three patches is independent from later two. Include: 1) Let check_extent_refs() return error instead of 0 if something wrong is found in original mode. 2) repair_root_items() should be called before any repair. Put it before do_check_chunks_and_extents(); 3) Error status should not be modified if repair_root_items() succeeded in original repair.
The late two patches are about invalid type in extent_inline_ref. Only original mode applied 001-003 patches can handle the case in the last patch. So I gather those 5 patches together. Su Yue (5): btrfs-progs: check: return value of check_extent_refs() btrfs-progs: check: call repair_root_items() before any repair btrfs-progs: check: error or return value of repair_root_items() btrfs-progs: check: check extent_inline_ref in lowmem btrfs-progs: fsck-tests: 027/bad_extent_inline_ref_type cmds-check.c | 83 +++++++++++++++------ .../bad-extent-inline-ref-type.raw.xz | Bin 0 -> 17144 bytes 2 files changed, 62 insertions(+), 21 deletions(-) create mode 100644 tests/fsck-tests/027-bad-extent-inline-ref-type/bad-extent-inline-ref-type.raw.xz -- 2.14.1 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html