Re: [PATCH v2 53/63] fs/gfs2: Use the enum req_op and blk_opf_t types

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux