This patch adds a additional check if lkb->lkb_wait_count is non zero as
it is done in validate_unlock_args() to check if any operation is in
progress. While on it add a comment taken from validate_unlock_args() to
signal what the check is doing.

There might be no changes because if lkb->lkb_wait_type is non zero
implies that lkb->lkb_wait_count is non zero. However we should add the
check as it does validate_unlock_args().

Signed-off-by: Alexander Aring <aahri...@redhat.com>
---
 fs/dlm/lock.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c
index bdb51d209ba2..e72f1a063aeb 100644
--- a/fs/dlm/lock.c
+++ b/fs/dlm/lock.c
@@ -2912,7 +2912,8 @@ static int validate_lock_args(struct dlm_ls *ls, struct 
dlm_lkb *lkb,
                if (lkb->lkb_status != DLM_LKSTS_GRANTED)
                        goto out;
 
-               if (lkb->lkb_wait_type)
+               /* lock not allowed if there's any op in progress */
+               if (lkb->lkb_wait_type || lkb->lkb_wait_count)
                        goto out;
 
                if (is_overlap(lkb))
-- 
2.31.1

Reply via email to