diff --git a/drivers/md/md.c b/drivers/md/md.c index e4c4b4026a4907af6b595ee7386ad9ec08c7560a..c049a9023c8376344254912cbe6d9f1c7f9f79b4 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -8950,7 +8950,8 @@ void md_reap_sync_thread(struct mddev *mddev) /* resync has finished, collect result */ md_unregister_thread(&mddev->sync_thread); if (!test_bit(MD_RECOVERY_INTR, &mddev->recovery) && - !test_bit(MD_RECOVERY_REQUESTED, &mddev->recovery)) { + !test_bit(MD_RECOVERY_REQUESTED, &mddev->recovery) && + mddev->degraded != mddev->raid_disks) { /* success...*/ /* activate any spares */ if (mddev->pers->spare_active(mddev)) {