diff options
Diffstat (limited to 'drivers/md/md.c')
-rw-r--r-- | drivers/md/md.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c index 3f6203a4c7ea..308e87b417e0 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c | |||
@@ -7619,6 +7619,8 @@ static int remove_and_add_spares(struct mddev *mddev) | |||
7619 | } | 7619 | } |
7620 | } | 7620 | } |
7621 | } | 7621 | } |
7622 | if (removed) | ||
7623 | set_bit(MD_CHANGE_DEVS, &mddev->flags); | ||
7622 | return spares; | 7624 | return spares; |
7623 | } | 7625 | } |
7624 | 7626 | ||
@@ -7632,9 +7634,11 @@ static void reap_sync_thread(struct mddev *mddev) | |||
7632 | !test_bit(MD_RECOVERY_REQUESTED, &mddev->recovery)) { | 7634 | !test_bit(MD_RECOVERY_REQUESTED, &mddev->recovery)) { |
7633 | /* success...*/ | 7635 | /* success...*/ |
7634 | /* activate any spares */ | 7636 | /* activate any spares */ |
7635 | if (mddev->pers->spare_active(mddev)) | 7637 | if (mddev->pers->spare_active(mddev)) { |
7636 | sysfs_notify(&mddev->kobj, NULL, | 7638 | sysfs_notify(&mddev->kobj, NULL, |
7637 | "degraded"); | 7639 | "degraded"); |
7640 | set_bit(MD_CHANGE_DEVS, &mddev->flags); | ||
7641 | } | ||
7638 | } | 7642 | } |
7639 | if (test_bit(MD_RECOVERY_RESHAPE, &mddev->recovery) && | 7643 | if (test_bit(MD_RECOVERY_RESHAPE, &mddev->recovery) && |
7640 | mddev->pers->finish_reshape) | 7644 | mddev->pers->finish_reshape) |