Message ID | 1465155145-10812-41-git-send-email-mchristi@redhat.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Delegated to: | Mike Snitzer |
Headers | show |
On 06/05/2016 09:32 PM, mchristi@redhat.com wrote: > From: Mike Christie <mchristi@redhat.com> > > In the next patch, we move drop the compat code and make > the op a separate value that is hidden in bi_rw. To give > the op and rq bits flags room to grow this moves prio to > its own field. > > Signed-off-by: Mike Christie <mchristi@redhat.com> > --- > include/linux/bio.h | 14 ++------------ > include/linux/blk_types.h | 5 ++--- > 2 files changed, 4 insertions(+), 15 deletions(-) > > diff --git a/include/linux/bio.h b/include/linux/bio.h > index 4568647..35108c2 100644 > --- a/include/linux/bio.h > +++ b/include/linux/bio.h > @@ -47,18 +47,8 @@ > #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 > - */ > -#define BIO_PRIO_SHIFT (8 * sizeof(unsigned long) - IOPRIO_BITS) > -#define bio_prio(bio) ((bio)->bi_rw >> BIO_PRIO_SHIFT) > -#define bio_prio_valid(bio) ioprio_valid(bio_prio(bio)) > - > -#define bio_set_prio(bio, prio) do { \ > - WARN_ON(prio >= (1 << IOPRIO_BITS)); \ > - (bio)->bi_rw &= ((1UL << BIO_PRIO_SHIFT) - 1); \ > - (bio)->bi_rw |= ((unsigned long) (prio) << BIO_PRIO_SHIFT); \ > -} while (0) > +#define bio_prio(bio) (bio)->bi_ioprio > +#define bio_set_prio(bio, prio) ((bio)->bi_ioprio = prio) > > /* > * various member access, note that bio_data should of course not be used > diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h > index 6e60baa..2738413 100644 > --- a/include/linux/blk_types.h > +++ b/include/linux/blk_types.h > @@ -48,9 +48,8 @@ struct bio { > struct block_device *bi_bdev; > unsigned int bi_flags; /* status, command, etc */ > int bi_error; > - unsigned long bi_rw; /* bottom bits READ/WRITE, > - * top bits priority > - */ > + unsigned long bi_rw; /* READ/WRITE */ > + unsigned short bi_ioprio; > > struct bvec_iter bi_iter; > > Reviewed-by: Hannes Reinecke <hare@suse.com> Cheers, Hannes
diff --git a/include/linux/bio.h b/include/linux/bio.h index 4568647..35108c2 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h @@ -47,18 +47,8 @@ #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 - */ -#define BIO_PRIO_SHIFT (8 * sizeof(unsigned long) - IOPRIO_BITS) -#define bio_prio(bio) ((bio)->bi_rw >> BIO_PRIO_SHIFT) -#define bio_prio_valid(bio) ioprio_valid(bio_prio(bio)) - -#define bio_set_prio(bio, prio) do { \ - WARN_ON(prio >= (1 << IOPRIO_BITS)); \ - (bio)->bi_rw &= ((1UL << BIO_PRIO_SHIFT) - 1); \ - (bio)->bi_rw |= ((unsigned long) (prio) << BIO_PRIO_SHIFT); \ -} while (0) +#define bio_prio(bio) (bio)->bi_ioprio +#define bio_set_prio(bio, prio) ((bio)->bi_ioprio = prio) /* * various member access, note that bio_data should of course not be used diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h index 6e60baa..2738413 100644 --- a/include/linux/blk_types.h +++ b/include/linux/blk_types.h @@ -48,9 +48,8 @@ struct bio { struct block_device *bi_bdev; unsigned int bi_flags; /* status, command, etc */ int bi_error; - unsigned long bi_rw; /* bottom bits READ/WRITE, - * top bits priority - */ + unsigned long bi_rw; /* READ/WRITE */ + unsigned short bi_ioprio; struct bvec_iter bi_iter;