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