Can be fetched from github: https://github.com/adam900710/btrfs-progs/tree/btrfs_image_fix Bug report: https://github.com/kdave/btrfs-progs/issues/118 In short, the problem is caused by some old code (read_extent_data() from ancient btrfs check code) and offset-by-one from btrfs-image. Which makes btrfs-image can only read from the first stripe of RAID1. And if device of the first stripe is missing, btrfs-image will fail. Fix the problem and add test case for it. Qu Wenruo (3): btrfs-progs: disk-io: Fix read_extent_data() error handler for missing device btrfs-progs: convert: Fix offset-by-one error in read_data_extent() btrfs-progs: tests/misc: Test if btrfs-image can handle RAID1 missing device disk-io.c | 6 ++- image/main.c | 2 +- tests/misc-tests/030-missing-device-image/test.sh | 57 +++++++++++++++++++++++ 3 files changed, 62 insertions(+), 3 deletions(-) create mode 100755 tests/misc-tests/030-missing-device-image/test.sh -- 2.16.3 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
