block, drivers: add REQ_OP_FLUSH operation

This adds a REQ_OP_FLUSH operation that is sent to request_fn
based drivers by the block layer's flush code, instead of
sending requests with the request->cmd_flags REQ_FLUSH bit set.

Signed-off-by: Mike Christie <mchristi@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
Mike Christie 2016-06-05 14:32:23 -05:00 committed by Jens Axboe
parent 4e1b2d52a8
commit 3a5e02ced1
20 changed files with 40 additions and 31 deletions

View file

@ -666,6 +666,9 @@ static inline bool rq_mergeable(struct request *rq)
if (rq->cmd_type != REQ_TYPE_FS)
return false;
if (req_op(rq) == REQ_OP_FLUSH)
return false;
if (rq->cmd_flags & REQ_NOMERGE_FLAGS)
return false;