On Thu, Jun 30, 2022 at 1:33 AM Bart Van Assche <bvanassche@xxxxxxx> wrote: > Improve static type checking by using the enum req_op type for variables > that represent a request operation and the new blk_opf_t type for > variables that represent request flags. Combine the first two > gfs2_submit_bhs() arguments into a single argument. > > Cc: Bob Peterson <rpeterso@xxxxxxxxxx> > Cc: Andreas Gruenbacher <agruenba@xxxxxxxxxx> > Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx> > --- > fs/gfs2/log.c | 4 ++-- > fs/gfs2/log.h | 2 +- > fs/gfs2/lops.c | 4 ++-- > fs/gfs2/lops.h | 2 +- > fs/gfs2/meta_io.c | 9 ++++----- > 5 files changed, 10 insertions(+), 11 deletions(-) > > diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c > index f0ee3ff6f9a8..eec4159b08aa 100644 > --- a/fs/gfs2/log.c > +++ b/fs/gfs2/log.c > @@ -823,7 +823,7 @@ void gfs2_flush_revokes(struct gfs2_sbd *sdp) > > void gfs2_write_log_header(struct gfs2_sbd *sdp, struct gfs2_jdesc *jd, > u64 seq, u32 tail, u32 lblock, u32 flags, > - int op_flags) > + blk_opf_t op_flags) > { > struct gfs2_log_header *lh; > u32 hash, crc; > @@ -905,7 +905,7 @@ void gfs2_write_log_header(struct gfs2_sbd *sdp, struct gfs2_jdesc *jd, > > static void log_write_header(struct gfs2_sbd *sdp, u32 flags) > { > - int op_flags = REQ_PREFLUSH | REQ_FUA | REQ_META | REQ_SYNC; > + blk_opf_t op_flags = REQ_PREFLUSH | REQ_FUA | REQ_META | REQ_SYNC; > enum gfs2_freeze_state state = atomic_read(&sdp->sd_freeze_state); > > gfs2_assert_withdraw(sdp, (state != SFS_FROZEN)); > diff --git a/fs/gfs2/log.h b/fs/gfs2/log.h > index fc905c2af53c..653cffcbf869 100644 > --- a/fs/gfs2/log.h > +++ b/fs/gfs2/log.h > @@ -82,7 +82,7 @@ extern void gfs2_log_reserve(struct gfs2_sbd *sdp, struct gfs2_trans *tr, > unsigned int *extra_revokes); > extern void gfs2_write_log_header(struct gfs2_sbd *sdp, struct gfs2_jdesc *jd, > u64 seq, u32 tail, u32 lblock, u32 flags, > - int op_flags); > + blk_opf_t op_flags); > extern void gfs2_log_flush(struct gfs2_sbd *sdp, struct gfs2_glock *gl, > u32 type); > extern void gfs2_log_commit(struct gfs2_sbd *sdp, struct gfs2_trans *trans); > diff --git a/fs/gfs2/lops.c b/fs/gfs2/lops.c > index 6ba51cbb94cf..90a2d7bc91c4 100644 > --- a/fs/gfs2/lops.c > +++ b/fs/gfs2/lops.c > @@ -238,7 +238,7 @@ static void gfs2_end_log_write(struct bio *bio) > * there is no pending bio, then this is a no-op. > */ > > -void gfs2_log_submit_bio(struct bio **biop, int opf) > +void gfs2_log_submit_bio(struct bio **biop, blk_opf_t opf) > { > struct bio *bio = *biop; > if (bio) { > @@ -292,7 +292,7 @@ static struct bio *gfs2_log_alloc_bio(struct gfs2_sbd *sdp, u64 blkno, > */ > > static struct bio *gfs2_log_get_bio(struct gfs2_sbd *sdp, u64 blkno, > - struct bio **biop, int op, > + struct bio **biop, enum req_op op, > bio_end_io_t *end_io, bool flush) > { > struct bio *bio = *biop; > diff --git a/fs/gfs2/lops.h b/fs/gfs2/lops.h > index f707601597dc..1412ffba1d44 100644 > --- a/fs/gfs2/lops.h > +++ b/fs/gfs2/lops.h > @@ -16,7 +16,7 @@ extern u64 gfs2_log_bmap(struct gfs2_jdesc *jd, unsigned int lbn); > extern void gfs2_log_write(struct gfs2_sbd *sdp, struct gfs2_jdesc *jd, > struct page *page, unsigned size, unsigned offset, > u64 blkno); > -extern void gfs2_log_submit_bio(struct bio **biop, int opf); > +extern void gfs2_log_submit_bio(struct bio **biop, blk_opf_t opf); > extern void gfs2_pin(struct gfs2_sbd *sdp, struct buffer_head *bh); > extern int gfs2_find_jhead(struct gfs2_jdesc *jd, > struct gfs2_log_header_host *head, bool keep_cache); > diff --git a/fs/gfs2/meta_io.c b/fs/gfs2/meta_io.c > index 3570739f005d..7e70e0ba5a6c 100644 > --- a/fs/gfs2/meta_io.c > +++ b/fs/gfs2/meta_io.c > @@ -34,7 +34,7 @@ static int gfs2_aspace_writepage(struct page *page, struct writeback_control *wb > { > struct buffer_head *bh, *head; > int nr_underway = 0; > - int write_flags = REQ_META | REQ_PRIO | wbc_to_write_flags(wbc); > + blk_opf_t write_flags = REQ_META | REQ_PRIO | wbc_to_write_flags(wbc); > > BUG_ON(!PageLocked(page)); > BUG_ON(!page_has_buffers(page)); > @@ -217,14 +217,13 @@ static void gfs2_meta_read_endio(struct bio *bio) > * Submit several consecutive buffer head I/O requests as a single bio I/O > * request. (See submit_bh_wbc.) > */ > -static void gfs2_submit_bhs(int op, int op_flags, struct buffer_head *bhs[], > - int num) > +static void gfs2_submit_bhs(blk_opf_t opf, struct buffer_head *bhs[], int num) > { > while (num > 0) { > struct buffer_head *bh = *bhs; > struct bio *bio; > > - bio = bio_alloc(bh->b_bdev, num, op | op_flags, GFP_NOIO); > + bio = bio_alloc(bh->b_bdev, num, opf, GFP_NOIO); > bio->bi_iter.bi_sector = bh->b_blocknr * (bh->b_size >> 9); > while (num > 0) { > bh = *bhs; > @@ -288,7 +287,7 @@ int gfs2_meta_read(struct gfs2_glock *gl, u64 blkno, int flags, > } > } > > - gfs2_submit_bhs(REQ_OP_READ, REQ_META | REQ_PRIO, bhs, num); > + gfs2_submit_bhs(REQ_OP_READ | REQ_META | REQ_PRIO, bhs, num); > if (!(flags & DIO_WAIT)) > return 0; > Looking good from a gfs2 point of view, thanks. Reviewed-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Andreas