|
@@ -2155,7 +2155,7 @@ static void fix_read_error(struct r1conf *conf, int read_disk,
|
|
|
d--;
|
|
|
rdev = conf->mirrors[d].rdev;
|
|
|
if (rdev &&
|
|
|
- test_bit(In_sync, &rdev->flags))
|
|
|
+ !test_bit(Faulty, &rdev->flags))
|
|
|
r1_sync_page_io(rdev, sect, s,
|
|
|
conf->tmppage, WRITE);
|
|
|
}
|
|
@@ -2167,7 +2167,7 @@ static void fix_read_error(struct r1conf *conf, int read_disk,
|
|
|
d--;
|
|
|
rdev = conf->mirrors[d].rdev;
|
|
|
if (rdev &&
|
|
|
- test_bit(In_sync, &rdev->flags)) {
|
|
|
+ !test_bit(Faulty, &rdev->flags)) {
|
|
|
if (r1_sync_page_io(rdev, sect, s,
|
|
|
conf->tmppage, READ)) {
|
|
|
atomic_add(s, &rdev->corrected_errors);
|