mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-11-01 08:58:07 +00:00
xfs: fix file_path handling in tracepoints
Since file_path() takes the output buffer as one of its arguments, we might as well have it format directly into the tracepoint's char array instead of wasting stack space. Fixes:3934e8ebb7
("xfs: create a big array data structure") Fixes:5076a6040c
("xfs: support in-memory buffer cache targets") Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202403290419.HPcyvqZu-lkp@intel.com/ Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Chandan Babu R <chandanbabu@kernel.org>
This commit is contained in:
parent
39c1ddb064
commit
19ebc8f84e
2 changed files with 8 additions and 12 deletions
|
@ -959,18 +959,16 @@ TRACE_EVENT(xfile_create,
|
|||
TP_STRUCT__entry(
|
||||
__field(dev_t, dev)
|
||||
__field(unsigned long, ino)
|
||||
__array(char, pathname, 256)
|
||||
__array(char, pathname, MAXNAMELEN)
|
||||
),
|
||||
TP_fast_assign(
|
||||
char pathname[257];
|
||||
char *path;
|
||||
|
||||
__entry->ino = file_inode(xf->file)->i_ino;
|
||||
memset(pathname, 0, sizeof(pathname));
|
||||
path = file_path(xf->file, pathname, sizeof(pathname) - 1);
|
||||
path = file_path(xf->file, __entry->pathname, MAXNAMELEN);
|
||||
if (IS_ERR(path))
|
||||
path = "(unknown)";
|
||||
strncpy(__entry->pathname, path, sizeof(__entry->pathname));
|
||||
strncpy(__entry->pathname, "(unknown)",
|
||||
sizeof(__entry->pathname));
|
||||
),
|
||||
TP_printk("xfino 0x%lx path '%s'",
|
||||
__entry->ino,
|
||||
|
|
|
@ -4715,20 +4715,18 @@ TRACE_EVENT(xmbuf_create,
|
|||
TP_STRUCT__entry(
|
||||
__field(dev_t, dev)
|
||||
__field(unsigned long, ino)
|
||||
__array(char, pathname, 256)
|
||||
__array(char, pathname, MAXNAMELEN)
|
||||
),
|
||||
TP_fast_assign(
|
||||
char pathname[257];
|
||||
char *path;
|
||||
struct file *file = btp->bt_file;
|
||||
|
||||
__entry->dev = btp->bt_mount->m_super->s_dev;
|
||||
__entry->ino = file_inode(file)->i_ino;
|
||||
memset(pathname, 0, sizeof(pathname));
|
||||
path = file_path(file, pathname, sizeof(pathname) - 1);
|
||||
path = file_path(file, __entry->pathname, MAXNAMELEN);
|
||||
if (IS_ERR(path))
|
||||
path = "(unknown)";
|
||||
strncpy(__entry->pathname, path, sizeof(__entry->pathname));
|
||||
strncpy(__entry->pathname, "(unknown)",
|
||||
sizeof(__entry->pathname));
|
||||
),
|
||||
TP_printk("dev %d:%d xmino 0x%lx path '%s'",
|
||||
MAJOR(__entry->dev), MINOR(__entry->dev),
|
||||
|
|
Loading…
Reference in a new issue