mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
filelock: add a tracepoint to start of break_lease()
...mostly to show the LEASE_BREAK_* flags. Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Jeff Layton <jlayton@kernel.org> Link: https://patch.msgid.link/20260428-dir-deleg-v3-3-5a0780ba9def@kernel.org Acked-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
parent
24cbf43337
commit
e39026a86b
|
|
@ -1651,6 +1651,8 @@ int __break_lease(struct inode *inode, unsigned int flags)
|
|||
bool want_write = !(flags & LEASE_BREAK_OPEN_RDONLY);
|
||||
int error = 0;
|
||||
|
||||
trace_break_lease(inode, flags);
|
||||
|
||||
type = break_lease_flags_to_type(flags);
|
||||
if (!type)
|
||||
return -EINVAL;
|
||||
|
|
|
|||
|
|
@ -120,6 +120,39 @@ DEFINE_EVENT(filelock_lock, flock_lock_inode,
|
|||
TP_PROTO(struct inode *inode, struct file_lock *fl, int ret),
|
||||
TP_ARGS(inode, fl, ret));
|
||||
|
||||
#define show_lease_break_flags(val) \
|
||||
__print_flags(val, "|", \
|
||||
{ LEASE_BREAK_LEASE, "LEASE" }, \
|
||||
{ LEASE_BREAK_DELEG, "DELEG" }, \
|
||||
{ LEASE_BREAK_LAYOUT, "LAYOUT" }, \
|
||||
{ LEASE_BREAK_NONBLOCK, "NONBLOCK" }, \
|
||||
{ LEASE_BREAK_OPEN_RDONLY, "OPEN_RDONLY" }, \
|
||||
{ LEASE_BREAK_DIR_CREATE, "DIR_CREATE" }, \
|
||||
{ LEASE_BREAK_DIR_DELETE, "DIR_DELETE" }, \
|
||||
{ LEASE_BREAK_DIR_RENAME, "DIR_RENAME" })
|
||||
|
||||
TRACE_EVENT(break_lease,
|
||||
TP_PROTO(struct inode *inode, unsigned int flags),
|
||||
|
||||
TP_ARGS(inode, flags),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field(unsigned long, i_ino)
|
||||
__field(dev_t, s_dev)
|
||||
__field(unsigned int, flags)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->s_dev = inode->i_sb->s_dev;
|
||||
__entry->i_ino = inode->i_ino;
|
||||
__entry->flags = flags;
|
||||
),
|
||||
|
||||
TP_printk("dev=0x%x:0x%x ino=0x%lx flags=%s",
|
||||
MAJOR(__entry->s_dev), MINOR(__entry->s_dev),
|
||||
__entry->i_ino, show_lease_break_flags(__entry->flags))
|
||||
);
|
||||
|
||||
DECLARE_EVENT_CLASS(filelock_lease,
|
||||
TP_PROTO(struct inode *inode, struct file_lease *fl),
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user