block: add REQ_OP definitions and helpers

The following patches separate the operation (WRITE, READ, DISCARD,
etc) from the rq_flag_bits flags. This patch adds definitions for
request/bio operations (REQ_OPs) and adds request/bio accessors to
get/set the op.

In this patch the REQ_OPs match the REQ rq_flag_bits ones
for compat reasons while all the code is converted to use the
op accessors in the set. In the last patches the op will become a
number and the accessors and helpers in this patch will be dropped
or updated.

Signed-off-by: Mike Christie <mchristi@redhat.com>
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:31:42 -05:00 committed by Jens Axboe
parent 4e49ea4a3d
commit f21508211d
4 changed files with 60 additions and 3 deletions

View file

@ -44,6 +44,9 @@
#define BIO_MAX_SIZE (BIO_MAX_PAGES << PAGE_SHIFT)
#define BIO_MAX_SECTORS (BIO_MAX_SIZE >> 9)
#define bio_op(bio) (op_from_rq_bits((bio)->bi_rw))
#define bio_set_op_attrs(bio, op, flags) ((bio)->bi_rw |= (op | flags))
/*
* upper 16 bits of bi_rw define the io priority of this bio
*/