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

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
...@@ -907,8 +907,6 @@ static int ocfs2_generic_handle_bast(struct ocfs2_lock_res *lockres, ...@@ -907,8 +907,6 @@ static int ocfs2_generic_handle_bast(struct ocfs2_lock_res *lockres,
assert_spin_locked(&lockres->l_lock); assert_spin_locked(&lockres->l_lock);
lockres_or_flags(lockres, OCFS2_LOCK_BLOCKED);
if (level > lockres->l_blocking) { if (level > lockres->l_blocking) {
/* only schedule a downconvert if we haven't already scheduled /* only schedule a downconvert if we haven't already scheduled
* one that goes low enough to satisfy the level we're * 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, ...@@ -921,6 +919,9 @@ static int ocfs2_generic_handle_bast(struct ocfs2_lock_res *lockres,
lockres->l_blocking = level; lockres->l_blocking = level;
} }
if (needs_downconvert)
lockres_or_flags(lockres, OCFS2_LOCK_BLOCKED);
mlog_exit(needs_downconvert); mlog_exit(needs_downconvert);
return needs_downconvert; return needs_downconvert;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment