All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bart Van Assche <bvanassche@acm.org>
To: Jens Axboe <axboe@kernel.dk>
Cc: linux-block@vger.kernel.org, Christoph Hellwig <hch@lst.de>,
	Bart Van Assche <bvanassche@acm.org>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>
Subject: [PATCH v2 58/63] fs/nilfs2: Use the enum req_op and blk_opf_t types
Date: Wed, 29 Jun 2022 16:31:40 -0700	[thread overview]
Message-ID: <20220629233145.2779494-59-bvanassche@acm.org> (raw)
In-Reply-To: <20220629233145.2779494-1-bvanassche@acm.org>

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 'mode' and
'mode_flags' arguments of nilfs_btnode_submit_block into a single
argument 'opf'.

Cc: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
---
 fs/nilfs2/btnode.c            |  8 ++++----
 fs/nilfs2/btnode.h            |  4 ++--
 fs/nilfs2/btree.c             |  6 +++---
 fs/nilfs2/gcinode.c           |  5 ++---
 fs/nilfs2/mdt.c               | 19 ++++++++++---------
 include/trace/events/nilfs2.h |  4 ++--
 6 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/fs/nilfs2/btnode.c b/fs/nilfs2/btnode.c
index 5c39efbf733f..e74fda212620 100644
--- a/fs/nilfs2/btnode.c
+++ b/fs/nilfs2/btnode.c
@@ -70,7 +70,7 @@ nilfs_btnode_create_block(struct address_space *btnc, __u64 blocknr)
 }
 
 int nilfs_btnode_submit_block(struct address_space *btnc, __u64 blocknr,
-			      sector_t pblocknr, int mode, int mode_flags,
+			      sector_t pblocknr, blk_opf_t opf,
 			      struct buffer_head **pbh, sector_t *submit_ptr)
 {
 	struct buffer_head *bh;
@@ -103,13 +103,13 @@ int nilfs_btnode_submit_block(struct address_space *btnc, __u64 blocknr,
 		}
 	}
 
-	if (mode_flags & REQ_RAHEAD) {
+	if (opf & REQ_RAHEAD) {
 		if (pblocknr != *submit_ptr + 1 || !trylock_buffer(bh)) {
 			err = -EBUSY; /* internal code */
 			brelse(bh);
 			goto out_locked;
 		}
-	} else { /* mode == READ */
+	} else { /* opf == REQ_OP_READ */
 		lock_buffer(bh);
 	}
 	if (buffer_uptodate(bh)) {
@@ -122,7 +122,7 @@ int nilfs_btnode_submit_block(struct address_space *btnc, __u64 blocknr,
 	bh->b_blocknr = pblocknr; /* set block address for read */
 	bh->b_end_io = end_buffer_read_sync;
 	get_bh(bh);
-	submit_bh(mode | mode_flags, bh);
+	submit_bh(opf, bh);
 	bh->b_blocknr = blocknr; /* set back to the given block address */
 	*submit_ptr = pblocknr;
 	err = 0;
diff --git a/fs/nilfs2/btnode.h b/fs/nilfs2/btnode.h
index bd5544e63a01..4bc5612dff94 100644
--- a/fs/nilfs2/btnode.h
+++ b/fs/nilfs2/btnode.h
@@ -34,8 +34,8 @@ void nilfs_init_btnc_inode(struct inode *btnc_inode);
 void nilfs_btnode_cache_clear(struct address_space *);
 struct buffer_head *nilfs_btnode_create_block(struct address_space *btnc,
 					      __u64 blocknr);
-int nilfs_btnode_submit_block(struct address_space *, __u64, sector_t, int,
-			      int, struct buffer_head **, sector_t *);
+int nilfs_btnode_submit_block(struct address_space *, __u64, sector_t,
+			      blk_opf_t, struct buffer_head **, sector_t *);
 void nilfs_btnode_delete(struct buffer_head *);
 int nilfs_btnode_prepare_change_key(struct address_space *,
 				    struct nilfs_btnode_chkey_ctxt *);
diff --git a/fs/nilfs2/btree.c b/fs/nilfs2/btree.c
index f544c22fff78..9f4d9432d38a 100644
--- a/fs/nilfs2/btree.c
+++ b/fs/nilfs2/btree.c
@@ -477,7 +477,7 @@ static int __nilfs_btree_get_block(const struct nilfs_bmap *btree, __u64 ptr,
 	sector_t submit_ptr = 0;
 	int ret;
 
-	ret = nilfs_btnode_submit_block(btnc, ptr, 0, REQ_OP_READ, 0, &bh,
+	ret = nilfs_btnode_submit_block(btnc, ptr, 0, REQ_OP_READ, &bh,
 					&submit_ptr);
 	if (ret) {
 		if (ret != -EEXIST)
@@ -495,8 +495,8 @@ static int __nilfs_btree_get_block(const struct nilfs_bmap *btree, __u64 ptr,
 			ptr2 = nilfs_btree_node_get_ptr(ra->node, i, ra->ncmax);
 
 			ret = nilfs_btnode_submit_block(btnc, ptr2, 0,
-							REQ_OP_READ, REQ_RAHEAD,
-							&ra_bh, &submit_ptr);
+						REQ_OP_READ | REQ_RAHEAD,
+						&ra_bh, &submit_ptr);
 			if (likely(!ret || ret == -EEXIST))
 				brelse(ra_bh);
 			else if (ret != -EBUSY)
diff --git a/fs/nilfs2/gcinode.c b/fs/nilfs2/gcinode.c
index 847def8af315..b0d22ff24b67 100644
--- a/fs/nilfs2/gcinode.c
+++ b/fs/nilfs2/gcinode.c
@@ -129,9 +129,8 @@ int nilfs_gccache_submit_read_node(struct inode *inode, sector_t pbn,
 	struct inode *btnc_inode = NILFS_I(inode)->i_assoc_inode;
 	int ret;
 
-	ret = nilfs_btnode_submit_block(btnc_inode->i_mapping,
-					vbn ? : pbn, pbn, REQ_OP_READ, 0,
-					out_bh, &pbn);
+	ret = nilfs_btnode_submit_block(btnc_inode->i_mapping, vbn ? : pbn, pbn,
+					REQ_OP_READ, out_bh, &pbn);
 	if (ret == -EEXIST) /* internal code (cache hit) */
 		ret = 0;
 	return ret;
diff --git a/fs/nilfs2/mdt.c b/fs/nilfs2/mdt.c
index 66e8811c2528..cbf4fa60eea2 100644
--- a/fs/nilfs2/mdt.c
+++ b/fs/nilfs2/mdt.c
@@ -111,8 +111,8 @@ static int nilfs_mdt_create_block(struct inode *inode, unsigned long block,
 }
 
 static int
-nilfs_mdt_submit_block(struct inode *inode, unsigned long blkoff,
-		       int mode, int mode_flags, struct buffer_head **out_bh)
+nilfs_mdt_submit_block(struct inode *inode, unsigned long blkoff, blk_opf_t opf,
+		       struct buffer_head **out_bh)
 {
 	struct buffer_head *bh;
 	__u64 blknum = 0;
@@ -126,12 +126,12 @@ nilfs_mdt_submit_block(struct inode *inode, unsigned long blkoff,
 	if (buffer_uptodate(bh))
 		goto out;
 
-	if (mode_flags & REQ_RAHEAD) {
+	if (opf & REQ_RAHEAD) {
 		if (!trylock_buffer(bh)) {
 			ret = -EBUSY;
 			goto failed_bh;
 		}
-	} else /* mode == READ */
+	} else /* opf == REQ_OP_READ */
 		lock_buffer(bh);
 
 	if (buffer_uptodate(bh)) {
@@ -148,10 +148,11 @@ nilfs_mdt_submit_block(struct inode *inode, unsigned long blkoff,
 
 	bh->b_end_io = end_buffer_read_sync;
 	get_bh(bh);
-	submit_bh(mode | mode_flags, bh);
+	submit_bh(opf, bh);
 	ret = 0;
 
-	trace_nilfs2_mdt_submit_block(inode, inode->i_ino, blkoff, mode);
+	trace_nilfs2_mdt_submit_block(inode, inode->i_ino, blkoff,
+				      opf & REQ_OP_MASK);
  out:
 	get_bh(bh);
 	*out_bh = bh;
@@ -172,7 +173,7 @@ static int nilfs_mdt_read_block(struct inode *inode, unsigned long block,
 	int i, nr_ra_blocks = NILFS_MDT_MAX_RA_BLOCKS;
 	int err;
 
-	err = nilfs_mdt_submit_block(inode, block, REQ_OP_READ, 0, &first_bh);
+	err = nilfs_mdt_submit_block(inode, block, REQ_OP_READ, &first_bh);
 	if (err == -EEXIST) /* internal code */
 		goto out;
 
@@ -182,8 +183,8 @@ static int nilfs_mdt_read_block(struct inode *inode, unsigned long block,
 	if (readahead) {
 		blkoff = block + 1;
 		for (i = 0; i < nr_ra_blocks; i++, blkoff++) {
-			err = nilfs_mdt_submit_block(inode, blkoff, REQ_OP_READ,
-						     REQ_RAHEAD, &bh);
+			err = nilfs_mdt_submit_block(inode, blkoff,
+						REQ_OP_READ | REQ_RAHEAD, &bh);
 			if (likely(!err || err == -EEXIST))
 				brelse(bh);
 			else if (err != -EBUSY)
diff --git a/include/trace/events/nilfs2.h b/include/trace/events/nilfs2.h
index 84ee31fc04cc..8efc6236f57c 100644
--- a/include/trace/events/nilfs2.h
+++ b/include/trace/events/nilfs2.h
@@ -192,7 +192,7 @@ TRACE_EVENT(nilfs2_mdt_submit_block,
 	    TP_PROTO(struct inode *inode,
 		     unsigned long ino,
 		     unsigned long blkoff,
-		     int mode),
+		     enum req_op mode),
 
 	    TP_ARGS(inode, ino, blkoff, mode),
 
@@ -200,7 +200,7 @@ TRACE_EVENT(nilfs2_mdt_submit_block,
 		    __field(struct inode *, inode)
 		    __field(unsigned long, ino)
 		    __field(unsigned long, blkoff)
-		    __field(int, mode)
+		    __field(enum req_op, mode)
 	    ),
 
 	    TP_fast_assign(

  parent reply	other threads:[~2022-06-29 23:34 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-29 23:30 [PATCH v2 00/63] Improve static type checking for request flags Bart Van Assche
2022-06-29 23:30 ` [PATCH v2 01/63] treewide: Rename enum req_opf into enum req_op Bart Van Assche
2022-06-29 23:30 ` [PATCH v2 02/63] block: Use enum req_op where appropriate Bart Van Assche
2022-06-29 23:30 ` [PATCH v2 03/63] block: Change the type of the last .rw_page() argument Bart Van Assche
2022-06-29 23:30 ` [PATCH v2 04/63] block: Change the type of req_op() and bio_op() into enum req_op Bart Van Assche
2022-06-29 23:30 ` [PATCH v2 05/63] block: Introduce the type blk_opf_t Bart Van Assche
2022-06-29 23:30 ` [PATCH v2 06/63] block: Use the new blk_opf_t type Bart Van Assche
2022-06-29 23:30 ` [PATCH v2 07/63] block/bfq: " Bart Van Assche
2022-06-30  8:33   ` Jan Kara
2022-06-29 23:30 ` [PATCH v2 08/63] block/mq-deadline: " Bart Van Assche
2022-06-30 23:35   ` Damien Le Moal
2022-06-29 23:30 ` [PATCH v2 09/63] block/kyber: " Bart Van Assche
2022-06-29 23:30 ` [PATCH v2 10/63] blktrace: Trace remapped requests correctly Bart Van Assche
2022-06-30  2:05   ` NOMURA JUNICHI(野村 淳一)
2022-06-30 18:13     ` Bart Van Assche
2022-06-30 23:56       ` NOMURA JUNICHI(野村 淳一)
2022-06-29 23:30 ` [PATCH v2 11/63] blktrace: Use the new blk_opf_t type Bart Van Assche
2022-06-29 23:30 ` [PATCH v2 12/63] block/brd: Use the enum req_op type Bart Van Assche
2022-06-29 23:30 ` [PATCH v2 13/63] block/drbd: Use the enum req_op and blk_opf_t types Bart Van Assche
2022-06-29 23:30 ` [PATCH v2 14/63] block/drbd: Combine two drbd_submit_peer_request() arguments Bart Van Assche
2022-07-05 19:53   ` Christoph Böhmwalder
2022-06-29 23:30 ` [PATCH v2 15/63] block/floppy: Fix a sparse warning Bart Van Assche
2022-06-29 23:30 ` [PATCH v2 16/63] block/rnbd: Use blk_opf_t where appropriate Bart Van Assche
2022-07-01  4:47   ` Jinpu Wang
2022-06-29 23:30 ` [PATCH v2 17/63] xen-blkback: Use the enum req_op and blk_opf_t types Bart Van Assche
2022-06-30  7:17   ` Roger Pau Monné
2022-06-29 23:31 ` [PATCH v2 18/63] block/zram: Use enum req_op where appropriate Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 19/63] nvdimm-btt: Use the enum req_op type Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 20/63] um: Use enum req_op where appropriate Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 21/63] dm/core: Reduce the size of struct dm_io_request Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 22/63] dm/core: Rename kcopyd_job.rw into kcopyd.op Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 23/63] dm/core: Combine request operation type and flags Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 24/63] dm/ebs: Change 'int rw' into 'enum req_op op' Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 25/63] dm/dm-flakey: Use the new blk_opf_t type Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 26/63] dm/dm-integrity: Combine request operation and flags Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 27/63] dm mirror log: Use the new blk_opf_t type Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 28/63] dm-snap: Combine request operation type and flags Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 29/63] dm/zone: Use the enum req_op type Bart Van Assche
2022-06-30 23:36   ` Damien Le Moal
2022-06-29 23:31 ` [PATCH v2 30/63] dm/dm-zoned: " Bart Van Assche
2022-06-30 23:36   ` Damien Le Moal
2022-06-29 23:31 ` [PATCH v2 31/63] md/core: Combine two sync_page_io() arguments Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 32/63] md/bcache: Combine two uuid_io() arguments Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 33/63] md/bcache: Combine two prio_io() arguments Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 34/63] md/raid1: Use the new blk_opf_t type Bart Van Assche
2022-06-30 18:41   ` Song Liu
2022-06-29 23:31 ` [PATCH v2 35/63] md/raid10: " Bart Van Assche
2022-06-30 18:41   ` Song Liu
2022-06-29 23:31 ` [PATCH v2 36/63] md/raid5: Use the enum req_op and blk_opf_t types Bart Van Assche
2022-06-30 18:41   ` Song Liu
2022-06-29 23:31 ` [PATCH v2 37/63] nvme/host: " Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 38/63] nvme/target: Use the new blk_opf_t type Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 39/63] scsi/core: Improve static type checking Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 40/63] scsi/core: Change the return type of scsi_noretry_cmd() into bool Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 41/63] scsi/core: Use the new blk_opf_t type Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 42/63] scsi/device_handlers: " Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 43/63] scsi/ufs: Rename a 'dir' argument into 'op' Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 44/63] scsi/target: Use the new blk_opf_t type Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 45/63] mm: " Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 46/63] fs/buffer: " Bart Van Assche
2022-06-30  8:34   ` Jan Kara
2022-06-29 23:31 ` [PATCH v2 47/63] fs/buffer: Combine two submit_bh() and ll_rw_block() arguments Bart Van Assche
2022-06-30 18:43   ` Song Liu
2022-06-29 23:31 ` [PATCH v2 48/63] fs/direct-io: Reduce the size of struct dio Bart Van Assche
2022-06-30  8:50   ` Jan Kara
2022-06-30 19:06     ` Bart Van Assche
2022-07-01 10:58       ` Jan Kara
2022-06-29 23:31 ` [PATCH v2 49/63] fs/mpage: Use the new blk_opf_t type Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 50/63] fs/btrfs: Use the enum req_op and blk_opf_t types Bart Van Assche
2022-06-30 11:37   ` David Sterba
2022-06-29 23:31 ` [PATCH v2 51/63] fs/ext4: Use the new blk_opf_t type Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 52/63] fs/f2fs: Use the enum req_op and blk_opf_t types Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 53/63] fs/gfs2: " Bart Van Assche
2022-07-07  6:03   ` Andreas Gruenbacher
2022-06-29 23:31 ` [PATCH v2 54/63] fs/hfsplus: " Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 55/63] fs/iomap: Use the new blk_opf_t type Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 56/63] fs/jbd2: Fix the documentation of the jbd2_write_superblock() callers Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 57/63] fs/nfs: Use enum req_op where appropriate Bart Van Assche
2022-06-29 23:31 ` Bart Van Assche [this message]
2022-07-01  7:03   ` [PATCH v2 58/63] fs/nilfs2: Use the enum req_op and blk_opf_t types Ryusuke Konishi
2022-06-29 23:31 ` [PATCH v2 59/63] fs/ntfs3: Use enum req_op where appropriate Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 60/63] fs/ocfs2: Use the enum req_op and blk_opf_t types Bart Van Assche
2022-07-01  1:47   ` Joseph Qi
2022-07-01 13:48     ` Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 61/63] PM: " Bart Van Assche
2022-06-30 15:21   ` Rafael J. Wysocki
2022-06-29 23:31 ` [PATCH v2 62/63] fs/xfs: " Bart Van Assche
2022-06-29 23:31 ` [PATCH v2 63/63] fs/zonefs: Use the enum req_op type for request operations Bart Van Assche
2022-06-30  6:02   ` Johannes Thumshirn
2022-06-30 23:39   ` Damien Le Moal
2022-07-07 17:58     ` Bart Van Assche
2022-07-07 22:07       ` Damien Le Moal
2022-07-13 21:48 ` [PATCH v2 00/63] Improve static type checking for request flags Bart Van Assche
2022-07-13 23:46   ` Jens Axboe
2022-07-13 23:49     ` Bart Van Assche
2022-07-13 23:57       ` Jens Axboe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220629233145.2779494-59-bvanassche@acm.org \
    --to=bvanassche@acm.org \
    --cc=axboe@kernel.dk \
    --cc=hch@lst.de \
    --cc=konishi.ryusuke@gmail.com \
    --cc=linux-block@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.