Skip to content

Commit

Permalink
fs/nilfs2: Use the enum req_op and blk_opf_t types
Browse files Browse the repository at this point in the history
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'.

Reviewed-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Link: https://lore.kernel.org/r/20220714180729.1065367-59-bvanassche@acm.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
  • Loading branch information
bvanassche authored and axboe committed Jul 14, 2022
1 parent 5d12ce7 commit ed45125
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 23 deletions.
8 changes: 4 additions & 4 deletions fs/nilfs2/btnode.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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)) {
Expand All @@ -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;
Expand Down
4 changes: 2 additions & 2 deletions fs/nilfs2/btnode.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 *);
Expand Down
6 changes: 3 additions & 3 deletions fs/nilfs2/btree.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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)
Expand Down
5 changes: 2 additions & 3 deletions fs/nilfs2/gcinode.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
19 changes: 10 additions & 9 deletions fs/nilfs2/mdt.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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)) {
Expand All @@ -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;
Expand All @@ -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;

Expand All @@ -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)
Expand Down
4 changes: 2 additions & 2 deletions include/trace/events/nilfs2.h
Original file line number Diff line number Diff line change
Expand Up @@ -192,15 +192,15 @@ 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),

TP_STRUCT__entry(
__field(struct inode *, inode)
__field(unsigned long, ino)
__field(unsigned long, blkoff)
__field(int, mode)
__field(enum req_op, mode)
),

TP_fast_assign(
Expand Down

0 comments on commit ed45125

Please sign in to comment.