aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/compression.h
diff options
context:
space:
mode:
authorChristoph Hellwig <[email protected]>2022-07-07 05:33:26 +0000
committerDavid Sterba <[email protected]>2022-07-25 15:45:43 +0000
commitc144c63fd33a1fc0e43e0b851a35b09c9460d94d (patch)
tree19dee35d4a5b607f6ed8d89462141d7b5c8c7545 /fs/btrfs/compression.h
parentbtrfs: merge btrfs_dev_stat_print_on_error with its only caller (diff)
downloadkernel-c144c63fd33a1fc0e43e0b851a35b09c9460d94d.tar.gz
kernel-c144c63fd33a1fc0e43e0b851a35b09c9460d94d.zip
btrfs: repair all known bad mirrors
When there is more than a single level of redundancy there can also be multiple bad mirrors, and the current read repair code only repairs the last bad one. Restructure btrfs_repair_one_sector so that it records the originally failed mirror and the number of copies, and then repair all known bad copies until we reach the originally failed copy in clean_io_failure. Note that this also means the read repair reads will always start from the next bad mirror and not mirror 0. This fixes btrfs/265 in xfstests. Reviewed-by: Nikolay Borisov <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]> Reviewed-by: David Sterba <[email protected]> Signed-off-by: David Sterba <[email protected]>
Diffstat (limited to 'fs/btrfs/compression.h')
0 files changed, 0 insertions, 0 deletions