gfs2: Eliminate GIF_INVALID flag

With the addition of the new GLF_INSTANTIATE_NEEDED flag, the
GIF_INVALID flag is now redundant. This patch removes it.
Since inode_instantiate is only called when instantiation is needed,
the check in inode_instantiate is removed too.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
This commit is contained in:
Bob Peterson 2021-10-05 09:10:51 -05:00 committed by Andreas Gruenbacher
parent f2e70d8f2f
commit ec1d398dd7
4 changed files with 4 additions and 11 deletions

View File

@ -356,7 +356,6 @@ static void inode_go_inval(struct gfs2_glock *gl, int flags)
struct address_space *mapping = gfs2_glock2aspace(gl); struct address_space *mapping = gfs2_glock2aspace(gl);
truncate_inode_pages(mapping, 0); truncate_inode_pages(mapping, 0);
if (ip) { if (ip) {
set_bit(GIF_INVALID, &ip->i_flags);
set_bit(GLF_INSTANTIATE_NEEDED, &gl->gl_flags); set_bit(GLF_INSTANTIATE_NEEDED, &gl->gl_flags);
forget_all_cached_acls(&ip->i_inode); forget_all_cached_acls(&ip->i_inode);
security_inode_invalidate_secctx(&ip->i_inode); security_inode_invalidate_secctx(&ip->i_inode);
@ -477,8 +476,6 @@ int gfs2_inode_refresh(struct gfs2_inode *ip)
error = gfs2_dinode_in(ip, dibh->b_data); error = gfs2_dinode_in(ip, dibh->b_data);
brelse(dibh); brelse(dibh);
clear_bit(GIF_INVALID, &ip->i_flags);
return error; return error;
} }
@ -499,11 +496,9 @@ static int inode_go_instantiate(struct gfs2_holder *gh)
if (!ip) /* no inode to populate - read it in later */ if (!ip) /* no inode to populate - read it in later */
goto out; goto out;
if (test_bit(GIF_INVALID, &ip->i_flags)) { error = gfs2_inode_refresh(ip);
error = gfs2_inode_refresh(ip); if (error)
if (error) goto out;
goto out;
}
if (gh->gh_state != LM_ST_DEFERRED) if (gh->gh_state != LM_ST_DEFERRED)
inode_dio_wait(&ip->i_inode); inode_dio_wait(&ip->i_inode);

View File

@ -373,7 +373,6 @@ struct gfs2_glock {
}; };
enum { enum {
GIF_INVALID = 0,
GIF_QD_LOCKED = 1, GIF_QD_LOCKED = 1,
GIF_ALLOC_FAILED = 2, GIF_ALLOC_FAILED = 2,
GIF_SW_PAGED = 3, GIF_SW_PAGED = 3,

View File

@ -182,7 +182,6 @@ struct inode *gfs2_inode_lookup(struct super_block *sb, unsigned int type,
} }
glock_set_object(ip->i_gl, ip); glock_set_object(ip->i_gl, ip);
set_bit(GIF_INVALID, &ip->i_flags);
set_bit(GLF_INSTANTIATE_NEEDED, &ip->i_gl->gl_flags); set_bit(GLF_INSTANTIATE_NEEDED, &ip->i_gl->gl_flags);
error = gfs2_glock_nq_init(io_gl, LM_ST_SHARED, GL_EXACT, &ip->i_iopen_gh); error = gfs2_glock_nq_init(io_gl, LM_ST_SHARED, GL_EXACT, &ip->i_iopen_gh);
if (unlikely(error)) if (unlikely(error))

View File

@ -1244,7 +1244,7 @@ static enum dinode_demise evict_should_delete(struct inode *inode,
if (ret) if (ret)
return SHOULD_NOT_DELETE_DINODE; return SHOULD_NOT_DELETE_DINODE;
if (test_bit(GIF_INVALID, &ip->i_flags)) { if (test_bit(GLF_INSTANTIATE_NEEDED, &ip->i_gl->gl_flags)) {
ret = gfs2_instantiate(gh); ret = gfs2_instantiate(gh);
if (ret) if (ret)
return SHOULD_NOT_DELETE_DINODE; return SHOULD_NOT_DELETE_DINODE;