gfs2: Mark withdraws as unlikely
[ Upstream commit 015af1af44003fff797f8632e940824c07d282bf ] Mark the gfs2_withdrawn(), gfs2_withdrawing(), and gfs2_withdraw_in_prog() inline functions as likely to return %false. This allows to get rid of likely() and unlikely() annotations at the call sites of those functions. Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com> Stable-dep-of: 9947a06d29c0 ("gfs2: do_xmote fixes") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
0636b34b44
commit
7c2bc932b6
@ -464,7 +464,7 @@ static int gfs2_read_folio(struct file *file, struct folio *folio)
|
||||
error = mpage_read_folio(folio, gfs2_block_map);
|
||||
}
|
||||
|
||||
if (unlikely(gfs2_withdrawn(sdp)))
|
||||
if (gfs2_withdrawn(sdp))
|
||||
return -EIO;
|
||||
|
||||
return error;
|
||||
|
@ -1436,7 +1436,7 @@ static int gfs2_lock(struct file *file, int cmd, struct file_lock *fl)
|
||||
|
||||
if (!(fl->fl_flags & FL_POSIX))
|
||||
return -ENOLCK;
|
||||
if (unlikely(gfs2_withdrawn(sdp))) {
|
||||
if (gfs2_withdrawn(sdp)) {
|
||||
if (fl->fl_type == F_UNLCK)
|
||||
locks_lock_file_wait(file, fl);
|
||||
return -EIO;
|
||||
|
@ -156,7 +156,7 @@ static bool glock_blocked_by_withdraw(struct gfs2_glock *gl)
|
||||
{
|
||||
struct gfs2_sbd *sdp = gl->gl_name.ln_sbd;
|
||||
|
||||
if (likely(!gfs2_withdrawn(sdp)))
|
||||
if (!gfs2_withdrawn(sdp))
|
||||
return false;
|
||||
if (gl->gl_ops->go_flags & GLOF_NONDISK)
|
||||
return false;
|
||||
@ -783,7 +783,7 @@ skip_inval:
|
||||
* gfs2_gl_hash_clear calls clear_glock) and recovery is complete
|
||||
* then it's okay to tell dlm to unlock it.
|
||||
*/
|
||||
if (unlikely(sdp->sd_log_error && !gfs2_withdrawn(sdp)))
|
||||
if (unlikely(sdp->sd_log_error) && !gfs2_withdrawn(sdp))
|
||||
gfs2_withdraw_delayed(sdp);
|
||||
if (glock_blocked_by_withdraw(gl) &&
|
||||
(target != LM_ST_UNLOCKED ||
|
||||
|
@ -257,7 +257,7 @@ int gfs2_meta_read(struct gfs2_glock *gl, u64 blkno, int flags,
|
||||
struct buffer_head *bh, *bhs[2];
|
||||
int num = 0;
|
||||
|
||||
if (unlikely(gfs2_withdrawn(sdp)) && !gfs2_withdraw_in_prog(sdp)) {
|
||||
if (gfs2_withdrawn(sdp) && !gfs2_withdraw_in_prog(sdp)) {
|
||||
*bhp = NULL;
|
||||
return -EIO;
|
||||
}
|
||||
@ -315,7 +315,7 @@ int gfs2_meta_read(struct gfs2_glock *gl, u64 blkno, int flags,
|
||||
|
||||
int gfs2_meta_wait(struct gfs2_sbd *sdp, struct buffer_head *bh)
|
||||
{
|
||||
if (unlikely(gfs2_withdrawn(sdp)) && !gfs2_withdraw_in_prog(sdp))
|
||||
if (gfs2_withdrawn(sdp) && !gfs2_withdraw_in_prog(sdp))
|
||||
return -EIO;
|
||||
|
||||
wait_on_buffer(bh);
|
||||
@ -326,7 +326,7 @@ int gfs2_meta_wait(struct gfs2_sbd *sdp, struct buffer_head *bh)
|
||||
gfs2_io_error_bh_wd(sdp, bh);
|
||||
return -EIO;
|
||||
}
|
||||
if (unlikely(gfs2_withdrawn(sdp)) && !gfs2_withdraw_in_prog(sdp))
|
||||
if (gfs2_withdrawn(sdp) && !gfs2_withdraw_in_prog(sdp))
|
||||
return -EIO;
|
||||
|
||||
return 0;
|
||||
|
@ -1075,7 +1075,7 @@ hostdata_error:
|
||||
void gfs2_lm_unmount(struct gfs2_sbd *sdp)
|
||||
{
|
||||
const struct lm_lockops *lm = sdp->sd_lockstruct.ls_ops;
|
||||
if (likely(!gfs2_withdrawn(sdp)) && lm->lm_unmount)
|
||||
if (!gfs2_withdrawn(sdp) && lm->lm_unmount)
|
||||
lm->lm_unmount(sdp);
|
||||
}
|
||||
|
||||
|
@ -499,7 +499,7 @@ static void gfs2_dirty_inode(struct inode *inode, int flags)
|
||||
return;
|
||||
}
|
||||
|
||||
if (unlikely(gfs2_withdrawn(sdp)))
|
||||
if (gfs2_withdrawn(sdp))
|
||||
return;
|
||||
if (!gfs2_glock_is_locked_by_me(ip->i_gl)) {
|
||||
ret = gfs2_glock_nq_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, &gh);
|
||||
|
@ -268,7 +268,7 @@ void gfs2_trans_add_meta(struct gfs2_glock *gl, struct buffer_head *bh)
|
||||
(unsigned long long)bd->bd_bh->b_blocknr);
|
||||
BUG();
|
||||
}
|
||||
if (unlikely(gfs2_withdrawn(sdp))) {
|
||||
if (gfs2_withdrawn(sdp)) {
|
||||
fs_info(sdp, "GFS2:adding buf while withdrawn! 0x%llx\n",
|
||||
(unsigned long long)bd->bd_bh->b_blocknr);
|
||||
goto out_unlock;
|
||||
|
@ -203,8 +203,8 @@ static inline void gfs2_withdraw_delayed(struct gfs2_sbd *sdp)
|
||||
*/
|
||||
static inline bool gfs2_withdrawn(struct gfs2_sbd *sdp)
|
||||
{
|
||||
return test_bit(SDF_WITHDRAWN, &sdp->sd_flags) ||
|
||||
test_bit(SDF_WITHDRAWING, &sdp->sd_flags);
|
||||
return unlikely(test_bit(SDF_WITHDRAWN, &sdp->sd_flags) ||
|
||||
test_bit(SDF_WITHDRAWING, &sdp->sd_flags));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -213,13 +213,13 @@ static inline bool gfs2_withdrawn(struct gfs2_sbd *sdp)
|
||||
*/
|
||||
static inline bool gfs2_withdrawing(struct gfs2_sbd *sdp)
|
||||
{
|
||||
return test_bit(SDF_WITHDRAWING, &sdp->sd_flags) &&
|
||||
!test_bit(SDF_WITHDRAWN, &sdp->sd_flags);
|
||||
return unlikely(test_bit(SDF_WITHDRAWING, &sdp->sd_flags) &&
|
||||
!test_bit(SDF_WITHDRAWN, &sdp->sd_flags));
|
||||
}
|
||||
|
||||
static inline bool gfs2_withdraw_in_prog(struct gfs2_sbd *sdp)
|
||||
{
|
||||
return test_bit(SDF_WITHDRAW_IN_PROG, &sdp->sd_flags);
|
||||
return unlikely(test_bit(SDF_WITHDRAW_IN_PROG, &sdp->sd_flags));
|
||||
}
|
||||
|
||||
#define gfs2_tune_get(sdp, field) \
|
||||
|
Loading…
x
Reference in New Issue
Block a user