diff options
Diffstat (limited to 'drivers/md/raid10.c')
-rw-r--r-- | drivers/md/raid10.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index 8aadd2f52dc8..fe6692e62215 100644 --- a/drivers/md/raid10.c +++ b/drivers/md/raid10.c | |||
@@ -1021,6 +1021,7 @@ static void error(mddev_t *mddev, mdk_rdev_t *rdev) | |||
1021 | */ | 1021 | */ |
1022 | set_bit(MD_RECOVERY_INTR, &mddev->recovery); | 1022 | set_bit(MD_RECOVERY_INTR, &mddev->recovery); |
1023 | } | 1023 | } |
1024 | set_bit(Blocked, &rdev->flags); | ||
1024 | set_bit(Faulty, &rdev->flags); | 1025 | set_bit(Faulty, &rdev->flags); |
1025 | set_bit(MD_CHANGE_DEVS, &mddev->flags); | 1026 | set_bit(MD_CHANGE_DEVS, &mddev->flags); |
1026 | printk(KERN_ALERT | 1027 | printk(KERN_ALERT |
@@ -1703,6 +1704,8 @@ static void raid10d(mddev_t *mddev) | |||
1703 | } | 1704 | } |
1704 | } | 1705 | } |
1705 | cond_resched(); | 1706 | cond_resched(); |
1707 | if (mddev->flags & ~(1<<MD_CHANGE_PENDING)) | ||
1708 | md_check_recovery(mddev); | ||
1706 | } | 1709 | } |
1707 | blk_finish_plug(&plug); | 1710 | blk_finish_plug(&plug); |
1708 | } | 1711 | } |