mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-29 09:13:38 +00:00
fs/nilfs2: Use the enum req_op and blk_opf_t types
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>
This commit is contained in:
parent
5d12ce77e1
commit
ed4512590b
@ -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,
|
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 **pbh, sector_t *submit_ptr)
|
||||||
{
|
{
|
||||||
struct buffer_head *bh;
|
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)) {
|
if (pblocknr != *submit_ptr + 1 || !trylock_buffer(bh)) {
|
||||||
err = -EBUSY; /* internal code */
|
err = -EBUSY; /* internal code */
|
||||||
brelse(bh);
|
brelse(bh);
|
||||||
goto out_locked;
|
goto out_locked;
|
||||||
}
|
}
|
||||||
} else { /* mode == READ */
|
} else { /* opf == REQ_OP_READ */
|
||||||
lock_buffer(bh);
|
lock_buffer(bh);
|
||||||
}
|
}
|
||||||
if (buffer_uptodate(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_blocknr = pblocknr; /* set block address for read */
|
||||||
bh->b_end_io = end_buffer_read_sync;
|
bh->b_end_io = end_buffer_read_sync;
|
||||||
get_bh(bh);
|
get_bh(bh);
|
||||||
submit_bh(mode | mode_flags, bh);
|
submit_bh(opf, bh);
|
||||||
bh->b_blocknr = blocknr; /* set back to the given block address */
|
bh->b_blocknr = blocknr; /* set back to the given block address */
|
||||||
*submit_ptr = pblocknr;
|
*submit_ptr = pblocknr;
|
||||||
err = 0;
|
err = 0;
|
||||||
|
@ -34,8 +34,8 @@ void nilfs_init_btnc_inode(struct inode *btnc_inode);
|
|||||||
void nilfs_btnode_cache_clear(struct address_space *);
|
void nilfs_btnode_cache_clear(struct address_space *);
|
||||||
struct buffer_head *nilfs_btnode_create_block(struct address_space *btnc,
|
struct buffer_head *nilfs_btnode_create_block(struct address_space *btnc,
|
||||||
__u64 blocknr);
|
__u64 blocknr);
|
||||||
int nilfs_btnode_submit_block(struct address_space *, __u64, sector_t, int,
|
int nilfs_btnode_submit_block(struct address_space *, __u64, sector_t,
|
||||||
int, struct buffer_head **, sector_t *);
|
blk_opf_t, struct buffer_head **, sector_t *);
|
||||||
void nilfs_btnode_delete(struct buffer_head *);
|
void nilfs_btnode_delete(struct buffer_head *);
|
||||||
int nilfs_btnode_prepare_change_key(struct address_space *,
|
int nilfs_btnode_prepare_change_key(struct address_space *,
|
||||||
struct nilfs_btnode_chkey_ctxt *);
|
struct nilfs_btnode_chkey_ctxt *);
|
||||||
|
@ -477,7 +477,7 @@ static int __nilfs_btree_get_block(const struct nilfs_bmap *btree, __u64 ptr,
|
|||||||
sector_t submit_ptr = 0;
|
sector_t submit_ptr = 0;
|
||||||
int ret;
|
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);
|
&submit_ptr);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
if (ret != -EEXIST)
|
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);
|
ptr2 = nilfs_btree_node_get_ptr(ra->node, i, ra->ncmax);
|
||||||
|
|
||||||
ret = nilfs_btnode_submit_block(btnc, ptr2, 0,
|
ret = nilfs_btnode_submit_block(btnc, ptr2, 0,
|
||||||
REQ_OP_READ, REQ_RAHEAD,
|
REQ_OP_READ | REQ_RAHEAD,
|
||||||
&ra_bh, &submit_ptr);
|
&ra_bh, &submit_ptr);
|
||||||
if (likely(!ret || ret == -EEXIST))
|
if (likely(!ret || ret == -EEXIST))
|
||||||
brelse(ra_bh);
|
brelse(ra_bh);
|
||||||
else if (ret != -EBUSY)
|
else if (ret != -EBUSY)
|
||||||
|
@ -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;
|
struct inode *btnc_inode = NILFS_I(inode)->i_assoc_inode;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = nilfs_btnode_submit_block(btnc_inode->i_mapping,
|
ret = nilfs_btnode_submit_block(btnc_inode->i_mapping, vbn ? : pbn, pbn,
|
||||||
vbn ? : pbn, pbn, REQ_OP_READ, 0,
|
REQ_OP_READ, out_bh, &pbn);
|
||||||
out_bh, &pbn);
|
|
||||||
if (ret == -EEXIST) /* internal code (cache hit) */
|
if (ret == -EEXIST) /* internal code (cache hit) */
|
||||||
ret = 0;
|
ret = 0;
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -111,8 +111,8 @@ static int nilfs_mdt_create_block(struct inode *inode, unsigned long block,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
nilfs_mdt_submit_block(struct inode *inode, unsigned long blkoff,
|
nilfs_mdt_submit_block(struct inode *inode, unsigned long blkoff, blk_opf_t opf,
|
||||||
int mode, int mode_flags, struct buffer_head **out_bh)
|
struct buffer_head **out_bh)
|
||||||
{
|
{
|
||||||
struct buffer_head *bh;
|
struct buffer_head *bh;
|
||||||
__u64 blknum = 0;
|
__u64 blknum = 0;
|
||||||
@ -126,12 +126,12 @@ nilfs_mdt_submit_block(struct inode *inode, unsigned long blkoff,
|
|||||||
if (buffer_uptodate(bh))
|
if (buffer_uptodate(bh))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
if (mode_flags & REQ_RAHEAD) {
|
if (opf & REQ_RAHEAD) {
|
||||||
if (!trylock_buffer(bh)) {
|
if (!trylock_buffer(bh)) {
|
||||||
ret = -EBUSY;
|
ret = -EBUSY;
|
||||||
goto failed_bh;
|
goto failed_bh;
|
||||||
}
|
}
|
||||||
} else /* mode == READ */
|
} else /* opf == REQ_OP_READ */
|
||||||
lock_buffer(bh);
|
lock_buffer(bh);
|
||||||
|
|
||||||
if (buffer_uptodate(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;
|
bh->b_end_io = end_buffer_read_sync;
|
||||||
get_bh(bh);
|
get_bh(bh);
|
||||||
submit_bh(mode | mode_flags, bh);
|
submit_bh(opf, bh);
|
||||||
ret = 0;
|
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:
|
out:
|
||||||
get_bh(bh);
|
get_bh(bh);
|
||||||
*out_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 i, nr_ra_blocks = NILFS_MDT_MAX_RA_BLOCKS;
|
||||||
int err;
|
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 */
|
if (err == -EEXIST) /* internal code */
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
@ -182,8 +183,8 @@ static int nilfs_mdt_read_block(struct inode *inode, unsigned long block,
|
|||||||
if (readahead) {
|
if (readahead) {
|
||||||
blkoff = block + 1;
|
blkoff = block + 1;
|
||||||
for (i = 0; i < nr_ra_blocks; i++, blkoff++) {
|
for (i = 0; i < nr_ra_blocks; i++, blkoff++) {
|
||||||
err = nilfs_mdt_submit_block(inode, blkoff, REQ_OP_READ,
|
err = nilfs_mdt_submit_block(inode, blkoff,
|
||||||
REQ_RAHEAD, &bh);
|
REQ_OP_READ | REQ_RAHEAD, &bh);
|
||||||
if (likely(!err || err == -EEXIST))
|
if (likely(!err || err == -EEXIST))
|
||||||
brelse(bh);
|
brelse(bh);
|
||||||
else if (err != -EBUSY)
|
else if (err != -EBUSY)
|
||||||
|
@ -192,7 +192,7 @@ TRACE_EVENT(nilfs2_mdt_submit_block,
|
|||||||
TP_PROTO(struct inode *inode,
|
TP_PROTO(struct inode *inode,
|
||||||
unsigned long ino,
|
unsigned long ino,
|
||||||
unsigned long blkoff,
|
unsigned long blkoff,
|
||||||
int mode),
|
enum req_op mode),
|
||||||
|
|
||||||
TP_ARGS(inode, ino, blkoff, mode),
|
TP_ARGS(inode, ino, blkoff, mode),
|
||||||
|
|
||||||
@ -200,7 +200,7 @@ TRACE_EVENT(nilfs2_mdt_submit_block,
|
|||||||
__field(struct inode *, inode)
|
__field(struct inode *, inode)
|
||||||
__field(unsigned long, ino)
|
__field(unsigned long, ino)
|
||||||
__field(unsigned long, blkoff)
|
__field(unsigned long, blkoff)
|
||||||
__field(int, mode)
|
__field(enum req_op, mode)
|
||||||
),
|
),
|
||||||
|
|
||||||
TP_fast_assign(
|
TP_fast_assign(
|
||||||
|
Loading…
Reference in New Issue
Block a user