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) |
