diff options
| author | Christoph Hellwig <[email protected]> | 2022-07-07 05:33:26 +0000 |
|---|---|---|
| committer | David Sterba <[email protected]> | 2022-07-25 15:45:43 +0000 |
| commit | c144c63fd33a1fc0e43e0b851a35b09c9460d94d (patch) | |
| tree | 19dee35d4a5b607f6ed8d89462141d7b5c8c7545 /fs/btrfs/compression.h | |
| parent | btrfs: merge btrfs_dev_stat_print_on_error with its only caller (diff) | |
| download | kernel-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
