aboutsummaryrefslogtreecommitdiffstats
path: root/block/blk-throttle.c
diff options
context:
space:
mode:
Diffstat (limited to 'block/blk-throttle.c')
-rw-r--r--block/blk-throttle.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/block/blk-throttle.c b/block/blk-throttle.c
index 32dd3e4b041d..37abbfc68590 100644
--- a/block/blk-throttle.c
+++ b/block/blk-throttle.c
@@ -768,6 +768,7 @@ static int throtl_dispatch(struct request_queue *q)
768 unsigned int nr_disp = 0; 768 unsigned int nr_disp = 0;
769 struct bio_list bio_list_on_stack; 769 struct bio_list bio_list_on_stack;
770 struct bio *bio; 770 struct bio *bio;
771 struct blk_plug plug;
771 772
772 spin_lock_irq(q->queue_lock); 773 spin_lock_irq(q->queue_lock);
773 774
@@ -796,9 +797,10 @@ out:
796 * immediate dispatch 797 * immediate dispatch
797 */ 798 */
798 if (nr_disp) { 799 if (nr_disp) {
800 blk_start_plug(&plug);
799 while((bio = bio_list_pop(&bio_list_on_stack))) 801 while((bio = bio_list_pop(&bio_list_on_stack)))
800 generic_make_request(bio); 802 generic_make_request(bio);
801 blk_unplug(q); 803 blk_finish_plug(&plug);
802 } 804 }
803 return nr_disp; 805 return nr_disp;
804} 806}