Commit 0b94a909 authored by Wengang Wang's avatar Wengang Wang Committed by Joel Becker
Browse files

ocfs2: Fix setting of OCFS2_LOCK_BLOCKED during bast



During bast, set the OCFS2_LOCK_BLOCKED flag only if the lock needs to
downconverted.

Signed-off-by: default avatarWengang Wang <wen.gang.wang@oracle.com>
Acked-by: default avatarSunil Mushran <sunil.mushran@oracle.com>
Acked-by: default avatarMark Fasheh <mfasheh@suse.com>
Signed-off-by: default avatarJoel Becker <joel.becker@oracle.com>
parent 34e6c59a
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -907,8 +907,6 @@ static int ocfs2_generic_handle_bast(struct ocfs2_lock_res *lockres,

	assert_spin_locked(&lockres->l_lock);

	lockres_or_flags(lockres, OCFS2_LOCK_BLOCKED);

	if (level > lockres->l_blocking) {
		/* only schedule a downconvert if we haven't already scheduled
		 * one that goes low enough to satisfy the level we're
@@ -921,6 +919,9 @@ static int ocfs2_generic_handle_bast(struct ocfs2_lock_res *lockres,
		lockres->l_blocking = level;
	}

	if (needs_downconvert)
		lockres_or_flags(lockres, OCFS2_LOCK_BLOCKED);

	mlog_exit(needs_downconvert);
	return needs_downconvert;
}