On 08/15/2016 12:13 PM, Christoph Hellwig wrote:
--- a/block/elevator.c +++ b/block/elevator.c @@ -366,7 +366,10 @@ void elv_dispatch_sort(struct request_queue *q, struct request *rq) list_for_each_prev(entry, &q->queue_head) { struct request *pos = list_entry_rq(entry);- if ((req_op(rq) == REQ_OP_DISCARD) != (req_op(pos) == REQ_OP_DISCARD)) + if ((req_op(rq) == REQ_OP_DISCARD || + req_op(rq) == REQ_OP_SECURE_ERASE) != + (req_op(pos) == REQ_OP_DISCARD || + req_op(pos) == REQ_OP_SECURE_ERASE)) break;This really should be a: if (req_op(rq) != req_op(pos)) I'l lleave it up to Jens if he wants that in this patch or not, otherwise I'll send an incremental patch.
Let's get a v2 with that fixed up, it makes a big readability difference. -- Jens Axboe

