|
@@ -7383,6 +7383,7 @@ static int remove_and_add_spares(struct mddev *mddev)
|
|
|
{
|
|
|
struct md_rdev *rdev;
|
|
|
int spares = 0;
|
|
|
+ int removed = 0;
|
|
|
|
|
|
mddev->curr_resync_completed = 0;
|
|
|
|
|
@@ -7396,8 +7397,13 @@ static int remove_and_add_spares(struct mddev *mddev)
|
|
|
mddev, rdev) == 0) {
|
|
|
sysfs_unlink_rdev(mddev, rdev);
|
|
|
rdev->raid_disk = -1;
|
|
|
+ removed++;
|
|
|
}
|
|
|
}
|
|
|
+ if (removed)
|
|
|
+ sysfs_notify(&mddev->kobj, NULL,
|
|
|
+ "degraded");
|
|
|
+
|
|
|
|
|
|
list_for_each_entry(rdev, &mddev->disks, same_set) {
|
|
|
if (rdev->raid_disk >= 0 &&
|