diff options
Diffstat (limited to 'drivers/md/raid1.c')
| -rw-r--r-- | drivers/md/raid1.c | 4 | 
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)  	spin_lock_irq(&conf->device_lock);  	if (conf->pending_bio_list.head) { +		struct blk_plug plug;  		struct bio *bio; +  		bio = bio_list_get(&conf->pending_bio_list);  		conf->pending_count = 0;  		spin_unlock_irq(&conf->device_lock); +		blk_start_plug(&plug);  		flush_bio_list(conf, bio); +		blk_finish_plug(&plug);  	} else  		spin_unlock_irq(&conf->device_lock);  } |