diff options
Diffstat (limited to 'block/blk-throttle.c')
-rw-r--r-- | block/blk-throttle.c | 4 |
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 | } |