]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
xfs: remove file_path tracepoint data
authorDarrick J. Wong <djwong@kernel.org>
Mon, 23 Mar 2026 21:04:33 +0000 (14:04 -0700)
committerCarlos Maiolino <cem@kernel.org>
Thu, 26 Mar 2026 13:25:23 +0000 (14:25 +0100)
The xfile/xmbuf shmem file descriptions are no longer as detailed as
they were when online fsck was first merged, because moving to static
strings in commit 60382993a2e180 ("xfs: get rid of the
xchk_xfile_*_descr calls") removed a memory allocation and hence a
source of failure.

However this makes encoding the description in the tracepoints sort of a
waste of memory.  David Laight also points out that file_path doesn't
zero the whole buffer which causes exposure of stale trace bytes, and
Steven Rostedt wonders why we're not using a dynamic array for the file
path.

I don't think this is worth fixing, so let's just rip it out.

Cc: rostedt@goodmis.org
Cc: david.laight.linux@gmail.com
Link: https://lore.kernel.org/linux-xfs/20260323172204.work.979-kees@kernel.org/
Cc: stable@vger.kernel.org # v6.11
Fixes: 19ebc8f84ea12e ("xfs: fix file_path handling in tracepoints")
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
fs/xfs/scrub/trace.h
fs/xfs/xfs_trace.h

index 39ea651cbb7510db97a5fe8a5464d3b2cc81e21f..286c5f5e054449a722f8af90024110badd40acfc 100644 (file)
@@ -972,20 +972,12 @@ TRACE_EVENT(xfile_create,
        TP_STRUCT__entry(
                __field(dev_t, dev)
                __field(unsigned long, ino)
-               __array(char, pathname, MAXNAMELEN)
        ),
        TP_fast_assign(
-               char            *path;
-
                __entry->ino = file_inode(xf->file)->i_ino;
-               path = file_path(xf->file, __entry->pathname, MAXNAMELEN);
-               if (IS_ERR(path))
-                       strncpy(__entry->pathname, "(unknown)",
-                                       sizeof(__entry->pathname));
        ),
-       TP_printk("xfino 0x%lx path '%s'",
-                 __entry->ino,
-                 __entry->pathname)
+       TP_printk("xfino 0x%lx",
+                 __entry->ino)
 );
 
 TRACE_EVENT(xfile_destroy,
index 0e994b3f768f91ace036543cf9c30bb78ae9c7ad..5e8190fe2be9365ed18b656e645abf0bef6eb8ac 100644 (file)
@@ -5119,23 +5119,16 @@ TRACE_EVENT(xmbuf_create,
        TP_STRUCT__entry(
                __field(dev_t, dev)
                __field(unsigned long, ino)
-               __array(char, pathname, MAXNAMELEN)
        ),
        TP_fast_assign(
-               char            *path;
                struct file     *file = btp->bt_file;
 
                __entry->dev = btp->bt_mount->m_super->s_dev;
                __entry->ino = file_inode(file)->i_ino;
-               path = file_path(file, __entry->pathname, MAXNAMELEN);
-               if (IS_ERR(path))
-                       strncpy(__entry->pathname, "(unknown)",
-                                       sizeof(__entry->pathname));
        ),
-       TP_printk("dev %d:%d xmino 0x%lx path '%s'",
+       TP_printk("dev %d:%d xmino 0x%lx",
                  MAJOR(__entry->dev), MINOR(__entry->dev),
-                 __entry->ino,
-                 __entry->pathname)
+                 __entry->ino)
 );
 
 TRACE_EVENT(xmbuf_free,