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 <rpete...@redhat.com>
Signed-off-by: Andreas Gruenbacher <agrue...@redhat.com>
---
 fs/gfs2/glops.c  | 11 +++--------
 fs/gfs2/incore.h |  1 -
 fs/gfs2/inode.c  |  1 -
 fs/gfs2/super.c  |  2 +-
 4 files changed, 4 insertions(+), 11 deletions(-)

diff --git a/fs/gfs2/glops.c b/fs/gfs2/glops.c
index e2656baf38a3..0b6a59f71eef 100644
--- a/fs/gfs2/glops.c
+++ b/fs/gfs2/glops.c
@@ -356,7 +356,6 @@ static void inode_go_inval(struct gfs2_glock *gl, int flags)
                struct address_space *mapping = gfs2_glock2aspace(gl);
                truncate_inode_pages(mapping, 0);
                if (ip) {
-                       set_bit(GIF_INVALID, &ip->i_flags);
                        set_bit(GLF_INSTANTIATE_NEEDED, &gl->gl_flags);
                        forget_all_cached_acls(&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);
        brelse(dibh);
-       clear_bit(GIF_INVALID, &ip->i_flags);
-
        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 */
                goto out;
 
-       if (test_bit(GIF_INVALID, &ip->i_flags)) {
-               error = gfs2_inode_refresh(ip);
-               if (error)
-                       goto out;
-       }
+       error = gfs2_inode_refresh(ip);
+       if (error)
+               goto out;
 
        if (gh->gh_state != LM_ST_DEFERRED)
                inode_dio_wait(&ip->i_inode);
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index e119b87128f4..183badadac85 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -372,7 +372,6 @@ struct gfs2_glock {
 };
 
 enum {
-       GIF_INVALID             = 0,
        GIF_QD_LOCKED           = 1,
        GIF_ALLOC_FAILED        = 2,
        GIF_SW_PAGED            = 3,
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index 8569142901f6..700f577fe3ff 100644
--- a/fs/gfs2/inode.c
+++ b/fs/gfs2/inode.c
@@ -182,7 +182,6 @@ struct inode *gfs2_inode_lookup(struct super_block *sb, 
unsigned int type,
                }
 
                glock_set_object(ip->i_gl, ip);
-               set_bit(GIF_INVALID, &ip->i_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);
                if (unlikely(error))
diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c
index 26c726580041..5b121371508a 100644
--- a/fs/gfs2/super.c
+++ b/fs/gfs2/super.c
@@ -1244,7 +1244,7 @@ static enum dinode_demise evict_should_delete(struct 
inode *inode,
        if (ret)
                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);
                if (ret)
                        return SHOULD_NOT_DELETE_DINODE;
-- 
2.31.1

Reply via email to