|
@@ -1379,15 +1379,17 @@ get_rq:
|
|
|
*/
|
|
|
if (list_empty(&plug->list))
|
|
|
trace_block_plug(q);
|
|
|
- else if (!plug->should_sort) {
|
|
|
- struct request *__rq;
|
|
|
+ else {
|
|
|
+ if (!plug->should_sort) {
|
|
|
+ struct request *__rq;
|
|
|
|
|
|
- __rq = list_entry_rq(plug->list.prev);
|
|
|
- if (__rq->q != q)
|
|
|
- plug->should_sort = 1;
|
|
|
+ __rq = list_entry_rq(plug->list.prev);
|
|
|
+ if (__rq->q != q)
|
|
|
+ plug->should_sort = 1;
|
|
|
+ }
|
|
|
+ if (request_count >= BLK_MAX_REQUEST_COUNT)
|
|
|
+ blk_flush_plug_list(plug, false);
|
|
|
}
|
|
|
- if (request_count >= BLK_MAX_REQUEST_COUNT)
|
|
|
- blk_flush_plug_list(plug, false);
|
|
|
list_add_tail(&req->queuelist, &plug->list);
|
|
|
drive_stat_acct(req, 1);
|
|
|
} else {
|