diff options
| -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) { |
