|
@@ -7462,6 +7462,9 @@ void md_do_sync(struct md_thread *thread)
|
|
wait_event(mddev->recovery_wait,
|
|
wait_event(mddev->recovery_wait,
|
|
atomic_read(&mddev->recovery_active) == 0);
|
|
atomic_read(&mddev->recovery_active) == 0);
|
|
mddev->curr_resync_completed = j;
|
|
mddev->curr_resync_completed = j;
|
|
|
|
+ if (test_bit(MD_RECOVERY_SYNC, &mddev->recovery) &&
|
|
|
|
+ j > mddev->recovery_cp)
|
|
|
|
+ mddev->recovery_cp = j;
|
|
set_bit(MD_CHANGE_CLEAN, &mddev->flags);
|
|
set_bit(MD_CHANGE_CLEAN, &mddev->flags);
|
|
sysfs_notify(&mddev->kobj, NULL, "sync_completed");
|
|
sysfs_notify(&mddev->kobj, NULL, "sync_completed");
|
|
}
|
|
}
|