Whamcloud - gitweb
LU-17589 flock: Flock blocking information becomes stale 19/54219/3
authorAndriy Skulysh <andriy.skulysh@hpe.com>
Fri, 18 Aug 2023 11:23:25 +0000 (14:23 +0300)
committerOleg Drokin <green@whamcloud.com>
Sat, 23 Mar 2024 05:56:10 +0000 (05:56 +0000)
Blocking information remains to point for already cancelled lock.

Find new blocker on each reprocess.

Change-Id: I8d353795170f4fd0ae55dd646035cf8feb4cc162
HPE-bug-id: LUS-11784, LUS-11999
Signed-off-by: Andriy Skulysh <andriy.skulysh@hpe.com>
Reviewed-by: Vitaly Fertman <vitaly.fertman@hpe.com>
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@hpe.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54219
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/ldlm/ldlm_flock.c

index 05c47f9..4a1df40 100644 (file)
@@ -434,6 +434,8 @@ reprocess:
                                continue;
 
                        if (intention != LDLM_PROCESS_ENQUEUE) {
+                               ldlm_flock_blocking_unlink(req);
+                               ldlm_flock_blocking_link(req, lock);
                                if (ldlm_flock_deadlock(req, lock)) {
                                        ldlm_flock_cancel_on_deadlock(
                                                req, grant_work);