]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
filelock: pass current blocking lease to trace_break_lease_block() rather than "new_fl"
authorJeff Layton <jlayton@kernel.org>
Tue, 28 Apr 2026 07:09:45 +0000 (08:09 +0100)
committerChristian Brauner <brauner@kernel.org>
Fri, 15 May 2026 17:24:32 +0000 (19:24 +0200)
The break_lease_block tracepoint currently just shows the type of
"new_fl", which we can predict from the "flags" value. Switch it to
display info about "fl" instead, as that's the file_lease on which the
code is blocking.

For trace_break_lease_unblock(), pass it a NULL pointer. "fl" may have
been freed by that point, and passing it the info in new_fl is
deceptive.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
Link: https://patch.msgid.link/20260428-dir-deleg-v3-1-5a0780ba9def@kernel.org
Acked-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/locks.c

index fead53474c300f7a47ae3e07292a1a8d1efb370e..3306892900c4cce4e953b9f80c95743c76350daf 100644 (file)
@@ -1691,7 +1691,7 @@ restart:
        } else
                break_time++;
        locks_insert_block(&fl->c, &new_fl->c, leases_conflict);
-       trace_break_lease_block(inode, new_fl);
+       trace_break_lease_block(inode, fl);
        spin_unlock(&ctx->flc_lock);
        percpu_up_read(&file_rwsem);
 
@@ -1702,7 +1702,7 @@ restart:
 
        percpu_down_read(&file_rwsem);
        spin_lock(&ctx->flc_lock);
-       trace_break_lease_unblock(inode, new_fl);
+       trace_break_lease_unblock(inode, NULL);
        __locks_delete_block(&new_fl->c);
        if (error >= 0) {
                /*