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 <[email protected]>
---
 fs/locks.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/locks.c b/fs/locks.c
index 8e44b1f6c15a..d82c5be7aa5b 100644
--- a/fs/locks.c
+++ b/fs/locks.c
@@ -1691,7 +1691,7 @@ int __break_lease(struct inode *inode, unsigned int flags)
        } 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 @@ int __break_lease(struct inode *inode, unsigned int flags)
 
        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) {
                /*

-- 
2.53.0


Reply via email to