diff --git a/[refs] b/[refs] index 01fcbe82587e..8dee4829e9f4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e5c86471f933608db5d43679f84cb4346c32033e +refs/heads/master: 6dafab6b1383e912cd252fa809570b484eb6e0dc diff --git a/trunk/drivers/md/md.c b/trunk/drivers/md/md.c index 3f6203a4c7ea..308e87b417e0 100644 --- a/trunk/drivers/md/md.c +++ b/trunk/drivers/md/md.c @@ -7619,6 +7619,8 @@ static int remove_and_add_spares(struct mddev *mddev) } } } + if (removed) + set_bit(MD_CHANGE_DEVS, &mddev->flags); return spares; } @@ -7632,9 +7634,11 @@ static void reap_sync_thread(struct mddev *mddev) !test_bit(MD_RECOVERY_REQUESTED, &mddev->recovery)) { /* success...*/ /* activate any spares */ - if (mddev->pers->spare_active(mddev)) + if (mddev->pers->spare_active(mddev)) { sysfs_notify(&mddev->kobj, NULL, "degraded"); + set_bit(MD_CHANGE_DEVS, &mddev->flags); + } } if (test_bit(MD_RECOVERY_RESHAPE, &mddev->recovery) && mddev->pers->finish_reshape)