diff options
Diffstat (limited to 'block/elevator.c')
-rw-r--r-- | block/elevator.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/block/elevator.c b/block/elevator.c index d03762399147..25f6ef28e3bb 100644 --- a/block/elevator.c +++ b/block/elevator.c | |||
@@ -413,6 +413,8 @@ void elv_dispatch_sort(request_queue_t *q, struct request *rq) | |||
413 | list_for_each_prev(entry, &q->queue_head) { | 413 | list_for_each_prev(entry, &q->queue_head) { |
414 | struct request *pos = list_entry_rq(entry); | 414 | struct request *pos = list_entry_rq(entry); |
415 | 415 | ||
416 | if (rq_data_dir(rq) != rq_data_dir(pos)) | ||
417 | break; | ||
416 | if (pos->cmd_flags & (REQ_SOFTBARRIER|REQ_HARDBARRIER|REQ_STARTED)) | 418 | if (pos->cmd_flags & (REQ_SOFTBARRIER|REQ_HARDBARRIER|REQ_STARTED)) |
417 | break; | 419 | break; |
418 | if (rq->sector >= boundary) { | 420 | if (rq->sector >= boundary) { |