Commit 40605818 authored by Andreas Gruenbacher's avatar Andreas Gruenbacher
Browse files

Revert "gfs2: Force withdraw to replay journals and wait for it to finish" (5/6)



The current withdraw code duplicates the journal recovery code gfs2
already has for dealing with node failures, and it does so poorly.  That
code was added because when releasing a lockspace, we didn't have a way
to indicate that the lockspace needs recovery.  We now do have this
feature, so the current withdraw code can be removed almost entirely.
This is one of several steps towards that.

Reverts parts of commit 601ef0d5 ("gfs2: Force withdraw to replay
journals and wait for it to finish").

Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
parent a07a1e46
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -691,8 +691,7 @@ __acquires(&gl->gl_lockref.lock)
	struct lm_lockstruct *ls = &sdp->sd_lockstruct;
	int ret;

	if (target != LM_ST_UNLOCKED && glock_blocked_by_withdraw(gl) &&
	    gh && !(gh->gh_flags & LM_FLAG_RECOVER))
	if (target != LM_ST_UNLOCKED && glock_blocked_by_withdraw(gl))
		goto skip_inval;

	GLOCK_BUG_ON(gl, gl->gl_state == target);
@@ -1548,7 +1547,7 @@ int gfs2_glock_nq(struct gfs2_holder *gh)
	struct gfs2_glock *gl = gh->gh_gl;
	int error;

	if (glock_blocked_by_withdraw(gl) && !(gh->gh_flags & LM_FLAG_RECOVER))
	if (glock_blocked_by_withdraw(gl))
		return -EIO;

	if (gh->gh_flags & GL_NOBLOCK) {