|
@@ -1796,6 +1796,9 @@ static void raid5_end_write_request(struct bio *bi, int error)
|
|
|
if (!uptodate) {
|
|
|
set_bit(WriteErrorSeen, &rdev->flags);
|
|
|
set_bit(R5_WriteError, &sh->dev[i].flags);
|
|
|
+ if (!test_and_set_bit(WantReplacement, &rdev->flags))
|
|
|
+ set_bit(MD_RECOVERY_NEEDED,
|
|
|
+ &rdev->mddev->recovery);
|
|
|
} else if (is_badblock(rdev, sh->sector,
|
|
|
STRIPE_SECTORS,
|
|
|
&first_bad, &bad_sectors))
|