Commit ec1d398d authored by Bob Peterson's avatar Bob Peterson Committed by Andreas Gruenbacher
Browse files

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: default avatarBob Peterson <rpeterso@redhat.com>
Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
parent f2e70d8f
Loading
Loading
Loading
Loading
+3 −8
Original line number Diff line number Diff line
@@ -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;
	}

	if (gh->gh_state != LM_ST_DEFERRED)
		inode_dio_wait(&ip->i_inode);
+0 −1
Original line number Diff line number Diff line
@@ -373,7 +373,6 @@ struct gfs2_glock {
};

enum {
	GIF_INVALID		= 0,
	GIF_QD_LOCKED		= 1,
	GIF_ALLOC_FAILED	= 2,
	GIF_SW_PAGED		= 3,
+0 −1
Original line number Diff line number Diff line
@@ -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))
+1 −1
Original line number Diff line number Diff line
@@ -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;