aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/md/md.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 1c2f9048e1ae..973aa8459e98 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -7298,6 +7298,7 @@ void md_do_sync(struct mddev *mddev)
7298 int skipped = 0; 7298 int skipped = 0;
7299 struct md_rdev *rdev; 7299 struct md_rdev *rdev;
7300 char *desc; 7300 char *desc;
7301 struct blk_plug plug;
7301 7302
7302 /* just incase thread restarts... */ 7303 /* just incase thread restarts... */
7303 if (test_bit(MD_RECOVERY_DONE, &mddev->recovery)) 7304 if (test_bit(MD_RECOVERY_DONE, &mddev->recovery))
@@ -7447,6 +7448,7 @@ void md_do_sync(struct mddev *mddev)
7447 } 7448 }
7448 mddev->curr_resync_completed = j; 7449 mddev->curr_resync_completed = j;
7449 7450
7451 blk_start_plug(&plug);
7450 while (j < max_sectors) { 7452 while (j < max_sectors) {
7451 sector_t sectors; 7453 sector_t sectors;
7452 7454
@@ -7552,6 +7554,7 @@ void md_do_sync(struct mddev *mddev)
7552 * this also signals 'finished resyncing' to md_stop 7554 * this also signals 'finished resyncing' to md_stop
7553 */ 7555 */
7554 out: 7556 out:
7557 blk_finish_plug(&plug);
7555 wait_event(mddev->recovery_wait, !atomic_read(&mddev->recovery_active)); 7558 wait_event(mddev->recovery_wait, !atomic_read(&mddev->recovery_active));
7556 7559
7557 /* tell personality that we are finished */ 7560 /* tell personality that we are finished */