|
@@ -413,6 +413,8 @@ void elv_dispatch_sort(request_queue_t *q, struct request *rq)
|
|
|
list_for_each_prev(entry, &q->queue_head) {
|
|
|
struct request *pos = list_entry_rq(entry);
|
|
|
|
|
|
+ if (rq_data_dir(rq) != rq_data_dir(pos))
|
|
|
+ break;
|
|
|
if (pos->cmd_flags & (REQ_SOFTBARRIER|REQ_HARDBARRIER|REQ_STARTED))
|
|
|
break;
|
|
|
if (rq->sector >= boundary) {
|