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: Wengang Wang <wen.gang.wang@oracle.com> Acked-by: Sunil Mushran <sunil.mushran@oracle.com> Acked-by: Mark Fasheh <mfasheh@suse.com> Signed-off-by: Joel Becker <joel.becker@oracle.com>
This commit is contained in:
parent
34e6c59af0
commit
0b94a909eb
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user