]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/md/raid5.c
md/raid5: Mark device want_replacement when we see a write error.
[mv-sheeva.git] / drivers / md / raid5.c
index b2c83859f75bc3c8537f2bf978f317f8fe3df557..360f2b98f62b3eaf946d3420e816c822bbe9e37e 100644 (file)
@@ -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))