aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/raid1.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/md/raid1.c')
-rw-r--r--drivers/md/raid1.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
index cc9d337a1ed3..6df398e3a008 100644
--- a/drivers/md/raid1.c
+++ b/drivers/md/raid1.c
@@ -809,11 +809,15 @@ static void flush_pending_writes(struct r1conf *conf)
809 spin_lock_irq(&conf->device_lock); 809 spin_lock_irq(&conf->device_lock);
810 810
811 if (conf->pending_bio_list.head) { 811 if (conf->pending_bio_list.head) {
812 struct blk_plug plug;
812 struct bio *bio; 813 struct bio *bio;
814
813 bio = bio_list_get(&conf->pending_bio_list); 815 bio = bio_list_get(&conf->pending_bio_list);
814 conf->pending_count = 0; 816 conf->pending_count = 0;
815 spin_unlock_irq(&conf->device_lock); 817 spin_unlock_irq(&conf->device_lock);
818 blk_start_plug(&plug);
816 flush_bio_list(conf, bio); 819 flush_bio_list(conf, bio);
820 blk_finish_plug(&plug);
817 } else 821 } else
818 spin_unlock_irq(&conf->device_lock); 822 spin_unlock_irq(&conf->device_lock);
819} 823}