aboutsummaryrefslogtreecommitdiffstats
path: root/block/elevator.c
diff options
context:
space:
mode:
Diffstat (limited to 'block/elevator.c')
-rw-r--r--block/elevator.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/block/elevator.c b/block/elevator.c
index c3555c9c672f..ea9319db50d7 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -366,8 +366,7 @@ void elv_dispatch_sort(struct request_queue *q, struct request *rq)
366 list_for_each_prev(entry, &q->queue_head) { 366 list_for_each_prev(entry, &q->queue_head) {
367 struct request *pos = list_entry_rq(entry); 367 struct request *pos = list_entry_rq(entry);
368 368
369 if ((rq->cmd_flags & REQ_DISCARD) != 369 if ((req_op(rq) == REQ_OP_DISCARD) != (req_op(pos) == REQ_OP_DISCARD))
370 (pos->cmd_flags & REQ_DISCARD))
371 break; 370 break;
372 if (rq_data_dir(rq) != rq_data_dir(pos)) 371 if (rq_data_dir(rq) != rq_data_dir(pos))
373 break; 372 break;
@@ -717,12 +716,12 @@ void elv_put_request(struct request_queue *q, struct request *rq)
717 e->type->ops.elevator_put_req_fn(rq); 716 e->type->ops.elevator_put_req_fn(rq);
718} 717}
719 718
720int elv_may_queue(struct request_queue *q, int rw) 719int elv_may_queue(struct request_queue *q, int op, int op_flags)
721{ 720{
722 struct elevator_queue *e = q->elevator; 721 struct elevator_queue *e = q->elevator;
723 722
724 if (e->type->ops.elevator_may_queue_fn) 723 if (e->type->ops.elevator_may_queue_fn)
725 return e->type->ops.elevator_may_queue_fn(q, rw); 724 return e->type->ops.elevator_may_queue_fn(q, op, op_flags);
726 725
727 return ELV_MQUEUE_MAY; 726 return ELV_MQUEUE_MAY;
728} 727}