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 3f6203a4c7e..308e87b417e 100644 --- a/drivers/md/md.c +++ b/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)  |