[PATCH 01/14] xfs: tracing; Remove unused event xfs_reflink_cow_found

Steven Rostedt posted 14 patches 3 months, 4 weeks ago
[PATCH 01/14] xfs: tracing; Remove unused event xfs_reflink_cow_found
Posted by Steven Rostedt 3 months, 4 weeks ago
From: Steven Rostedt <rostedt@goodmis.org>

Each trace event can take up to around 5K of text and meta data regardless
if they are used or not. With the restructuring of the XFS COW handling,
the tracepoint trace_xfs_reflink_cow_found() was removed but the trace
event was still being created. Remove the creation of that trace event.

Fixes: db46e604adf8 ("xfs: merge COW handling into xfs_file_iomap_begin_delay")
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
 fs/xfs/xfs_trace.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h
index 01d284a1c759..ae0ed0dd0a01 100644
--- a/fs/xfs/xfs_trace.h
+++ b/fs/xfs/xfs_trace.h
@@ -4242,7 +4242,6 @@ DEFINE_INODE_ERROR_EVENT(xfs_reflink_unshare_error);
 
 /* copy on write */
 DEFINE_INODE_IREC_EVENT(xfs_reflink_trim_around_shared);
-DEFINE_INODE_IREC_EVENT(xfs_reflink_cow_found);
 DEFINE_INODE_IREC_EVENT(xfs_reflink_cow_enospc);
 DEFINE_INODE_IREC_EVENT(xfs_reflink_convert_cow);
 
-- 
2.47.2
Re: [PATCH 01/14] xfs: tracing; Remove unused event xfs_reflink_cow_found
Posted by kernel test robot 3 months, 4 weeks ago
Hi Steven,

kernel test robot noticed the following build errors:

[auto build test ERROR on xfs-linux/for-next]
[also build test ERROR on linus/master v6.16-rc1 next-20250613]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Steven-Rostedt/xfs-tracing-Remove-unused-event-xfs_reflink_cow_found/20250613-052758
base:   https://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git for-next
patch link:    https://lore.kernel.org/r/20250612212634.746367055%40goodmis.org
patch subject: [PATCH 01/14] xfs: tracing; Remove unused event xfs_reflink_cow_found
config: s390-randconfig-r073-20250614 (https://download.01.org/0day-ci/archive/20250614/202506140710.bDy6wh4J-lkp@intel.com/config)
compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project f819f46284f2a79790038e1f6649172789734ae8)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250614/202506140710.bDy6wh4J-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202506140710.bDy6wh4J-lkp@intel.com/

All errors (new ones prefixed by >>):

>> fs/xfs/xfs_iomap.c:1614:3: error: call to undeclared function 'trace_xfs_reflink_cow_found'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
    1614 |                 trace_xfs_reflink_cow_found(ip, &got);
         |                 ^
   fs/xfs/xfs_iomap.c:1614:3: note: did you mean 'trace_xfs_reflink_cow_enospc'?
   fs/xfs/xfs_trace.h:4245:1: note: 'trace_xfs_reflink_cow_enospc' declared here
    4245 | DEFINE_INODE_IREC_EVENT(xfs_reflink_cow_enospc);
         | ^
   fs/xfs/xfs_trace.h:4073:39: note: expanded from macro 'DEFINE_INODE_IREC_EVENT'
    4073 | #define DEFINE_INODE_IREC_EVENT(name) \
         |                                       ^
   include/linux/tracepoint.h:594:2: note: expanded from macro '\
   DEFINE_EVENT'
     594 |         DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |         ^
   include/linux/tracepoint.h:467:2: note: expanded from macro 'DECLARE_TRACE'
     467 |         __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
         |         ^
   include/linux/tracepoint.h:409:2: note: expanded from macro '__DECLARE_TRACE'
     409 |         __DECLARE_TRACE_COMMON(name, PARAMS(proto), PARAMS(args), PARAMS(data_proto))
         |         ^
   include/linux/tracepoint.h:385:21: note: expanded from macro '__DECLARE_TRACE_COMMON'
     385 |         static inline void trace_##name(proto)                          \
         |                            ^
   <scratch space>:36:1: note: expanded from here
      36 | trace_xfs_reflink_cow_enospc
         | ^
   fs/xfs/xfs_iomap.c:1792:4: error: call to undeclared function 'trace_xfs_reflink_cow_found'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
    1792 |                         trace_xfs_reflink_cow_found(ip, &cmap);
         |                         ^
   2 errors generated.


vim +/trace_xfs_reflink_cow_found +1614 fs/xfs/xfs_iomap.c

7c879c8275c0505 Christoph Hellwig 2024-11-17  1514  
058dd70c65ab736 Christoph Hellwig 2025-02-13  1515  static int
058dd70c65ab736 Christoph Hellwig 2025-02-13  1516  xfs_zoned_buffered_write_iomap_begin(
058dd70c65ab736 Christoph Hellwig 2025-02-13  1517  	struct inode		*inode,
058dd70c65ab736 Christoph Hellwig 2025-02-13  1518  	loff_t			offset,
058dd70c65ab736 Christoph Hellwig 2025-02-13  1519  	loff_t			count,
058dd70c65ab736 Christoph Hellwig 2025-02-13  1520  	unsigned		flags,
058dd70c65ab736 Christoph Hellwig 2025-02-13  1521  	struct iomap		*iomap,
058dd70c65ab736 Christoph Hellwig 2025-02-13  1522  	struct iomap		*srcmap)
058dd70c65ab736 Christoph Hellwig 2025-02-13  1523  {
058dd70c65ab736 Christoph Hellwig 2025-02-13  1524  	struct iomap_iter	*iter =
058dd70c65ab736 Christoph Hellwig 2025-02-13  1525  		container_of(iomap, struct iomap_iter, iomap);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1526  	struct xfs_zone_alloc_ctx *ac = iter->private;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1527  	struct xfs_inode	*ip = XFS_I(inode);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1528  	struct xfs_mount	*mp = ip->i_mount;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1529  	xfs_fileoff_t		offset_fsb = XFS_B_TO_FSBT(mp, offset);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1530  	xfs_fileoff_t		end_fsb = xfs_iomap_end_fsb(mp, offset, count);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1531  	u16			iomap_flags = IOMAP_F_SHARED;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1532  	unsigned int		lockmode = XFS_ILOCK_EXCL;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1533  	xfs_filblks_t		count_fsb;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1534  	xfs_extlen_t		indlen;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1535  	struct xfs_bmbt_irec	got;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1536  	struct xfs_iext_cursor	icur;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1537  	int			error = 0;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1538  
058dd70c65ab736 Christoph Hellwig 2025-02-13  1539  	ASSERT(!xfs_get_extsz_hint(ip));
058dd70c65ab736 Christoph Hellwig 2025-02-13  1540  	ASSERT(!(flags & IOMAP_UNSHARE));
058dd70c65ab736 Christoph Hellwig 2025-02-13  1541  	ASSERT(ac);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1542  
058dd70c65ab736 Christoph Hellwig 2025-02-13  1543  	if (xfs_is_shutdown(mp))
058dd70c65ab736 Christoph Hellwig 2025-02-13  1544  		return -EIO;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1545  
058dd70c65ab736 Christoph Hellwig 2025-02-13  1546  	error = xfs_qm_dqattach(ip);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1547  	if (error)
058dd70c65ab736 Christoph Hellwig 2025-02-13  1548  		return error;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1549  
058dd70c65ab736 Christoph Hellwig 2025-02-13  1550  	error = xfs_ilock_for_iomap(ip, flags, &lockmode);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1551  	if (error)
058dd70c65ab736 Christoph Hellwig 2025-02-13  1552  		return error;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1553  
058dd70c65ab736 Christoph Hellwig 2025-02-13  1554  	if (XFS_IS_CORRUPT(mp, !xfs_ifork_has_extents(&ip->i_df)) ||
058dd70c65ab736 Christoph Hellwig 2025-02-13  1555  	    XFS_TEST_ERROR(false, mp, XFS_ERRTAG_BMAPIFORMAT)) {
058dd70c65ab736 Christoph Hellwig 2025-02-13  1556  		xfs_bmap_mark_sick(ip, XFS_DATA_FORK);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1557  		error = -EFSCORRUPTED;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1558  		goto out_unlock;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1559  	}
058dd70c65ab736 Christoph Hellwig 2025-02-13  1560  
058dd70c65ab736 Christoph Hellwig 2025-02-13  1561  	XFS_STATS_INC(mp, xs_blk_mapw);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1562  
058dd70c65ab736 Christoph Hellwig 2025-02-13  1563  	error = xfs_iread_extents(NULL, ip, XFS_DATA_FORK);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1564  	if (error)
058dd70c65ab736 Christoph Hellwig 2025-02-13  1565  		goto out_unlock;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1566  
058dd70c65ab736 Christoph Hellwig 2025-02-13  1567  	/*
058dd70c65ab736 Christoph Hellwig 2025-02-13  1568  	 * For zeroing operations check if there is any data to zero first.
058dd70c65ab736 Christoph Hellwig 2025-02-13  1569  	 *
058dd70c65ab736 Christoph Hellwig 2025-02-13  1570  	 * For regular writes we always need to allocate new blocks, but need to
058dd70c65ab736 Christoph Hellwig 2025-02-13  1571  	 * provide the source mapping when the range is unaligned to support
058dd70c65ab736 Christoph Hellwig 2025-02-13  1572  	 * read-modify-write of the whole block in the page cache.
058dd70c65ab736 Christoph Hellwig 2025-02-13  1573  	 *
058dd70c65ab736 Christoph Hellwig 2025-02-13  1574  	 * In either case we need to limit the reported range to the boundaries
058dd70c65ab736 Christoph Hellwig 2025-02-13  1575  	 * of the source map in the data fork.
058dd70c65ab736 Christoph Hellwig 2025-02-13  1576  	 */
058dd70c65ab736 Christoph Hellwig 2025-02-13  1577  	if (!IS_ALIGNED(offset, mp->m_sb.sb_blocksize) ||
058dd70c65ab736 Christoph Hellwig 2025-02-13  1578  	    !IS_ALIGNED(offset + count, mp->m_sb.sb_blocksize) ||
058dd70c65ab736 Christoph Hellwig 2025-02-13  1579  	    (flags & IOMAP_ZERO)) {
058dd70c65ab736 Christoph Hellwig 2025-02-13  1580  		struct xfs_bmbt_irec	smap;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1581  		struct xfs_iext_cursor	scur;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1582  
058dd70c65ab736 Christoph Hellwig 2025-02-13  1583  		if (!xfs_iext_lookup_extent(ip, &ip->i_df, offset_fsb, &scur,
058dd70c65ab736 Christoph Hellwig 2025-02-13  1584  				&smap))
058dd70c65ab736 Christoph Hellwig 2025-02-13  1585  			smap.br_startoff = end_fsb; /* fake hole until EOF */
058dd70c65ab736 Christoph Hellwig 2025-02-13  1586  		if (smap.br_startoff > offset_fsb) {
058dd70c65ab736 Christoph Hellwig 2025-02-13  1587  			/*
058dd70c65ab736 Christoph Hellwig 2025-02-13  1588  			 * We never need to allocate blocks for zeroing a hole.
058dd70c65ab736 Christoph Hellwig 2025-02-13  1589  			 */
058dd70c65ab736 Christoph Hellwig 2025-02-13  1590  			if (flags & IOMAP_ZERO) {
058dd70c65ab736 Christoph Hellwig 2025-02-13  1591  				xfs_hole_to_iomap(ip, iomap, offset_fsb,
058dd70c65ab736 Christoph Hellwig 2025-02-13  1592  						smap.br_startoff);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1593  				goto out_unlock;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1594  			}
058dd70c65ab736 Christoph Hellwig 2025-02-13  1595  			end_fsb = min(end_fsb, smap.br_startoff);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1596  		} else {
058dd70c65ab736 Christoph Hellwig 2025-02-13  1597  			end_fsb = min(end_fsb,
058dd70c65ab736 Christoph Hellwig 2025-02-13  1598  				smap.br_startoff + smap.br_blockcount);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1599  			xfs_trim_extent(&smap, offset_fsb,
058dd70c65ab736 Christoph Hellwig 2025-02-13  1600  					end_fsb - offset_fsb);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1601  			error = xfs_bmbt_to_iomap(ip, srcmap, &smap, flags, 0,
058dd70c65ab736 Christoph Hellwig 2025-02-13  1602  					xfs_iomap_inode_sequence(ip, 0));
058dd70c65ab736 Christoph Hellwig 2025-02-13  1603  			if (error)
058dd70c65ab736 Christoph Hellwig 2025-02-13  1604  				goto out_unlock;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1605  		}
058dd70c65ab736 Christoph Hellwig 2025-02-13  1606  	}
058dd70c65ab736 Christoph Hellwig 2025-02-13  1607  
058dd70c65ab736 Christoph Hellwig 2025-02-13  1608  	if (!ip->i_cowfp)
058dd70c65ab736 Christoph Hellwig 2025-02-13  1609  		xfs_ifork_init_cow(ip);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1610  
058dd70c65ab736 Christoph Hellwig 2025-02-13  1611  	if (!xfs_iext_lookup_extent(ip, ip->i_cowfp, offset_fsb, &icur, &got))
058dd70c65ab736 Christoph Hellwig 2025-02-13  1612  		got.br_startoff = end_fsb;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1613  	if (got.br_startoff <= offset_fsb) {
058dd70c65ab736 Christoph Hellwig 2025-02-13 @1614  		trace_xfs_reflink_cow_found(ip, &got);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1615  		goto done;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1616  	}
058dd70c65ab736 Christoph Hellwig 2025-02-13  1617  
058dd70c65ab736 Christoph Hellwig 2025-02-13  1618  	/*
058dd70c65ab736 Christoph Hellwig 2025-02-13  1619  	 * Cap the maximum length to keep the chunks of work done here somewhat
058dd70c65ab736 Christoph Hellwig 2025-02-13  1620  	 * symmetric with the work writeback does.
058dd70c65ab736 Christoph Hellwig 2025-02-13  1621  	 */
058dd70c65ab736 Christoph Hellwig 2025-02-13  1622  	end_fsb = min(end_fsb, got.br_startoff);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1623  	count_fsb = min3(end_fsb - offset_fsb, XFS_MAX_BMBT_EXTLEN,
058dd70c65ab736 Christoph Hellwig 2025-02-13  1624  			 XFS_B_TO_FSB(mp, 1024 * PAGE_SIZE));
058dd70c65ab736 Christoph Hellwig 2025-02-13  1625  
058dd70c65ab736 Christoph Hellwig 2025-02-13  1626  	/*
058dd70c65ab736 Christoph Hellwig 2025-02-13  1627  	 * The block reservation is supposed to cover all blocks that the
058dd70c65ab736 Christoph Hellwig 2025-02-13  1628  	 * operation could possible write, but there is a nasty corner case
058dd70c65ab736 Christoph Hellwig 2025-02-13  1629  	 * where blocks could be stolen from underneath us:
058dd70c65ab736 Christoph Hellwig 2025-02-13  1630  	 *
058dd70c65ab736 Christoph Hellwig 2025-02-13  1631  	 *  1) while this thread iterates over a larger buffered write,
058dd70c65ab736 Christoph Hellwig 2025-02-13  1632  	 *  2) another thread is causing a write fault that calls into
058dd70c65ab736 Christoph Hellwig 2025-02-13  1633  	 *     ->page_mkwrite in range this thread writes to, using up the
058dd70c65ab736 Christoph Hellwig 2025-02-13  1634  	 *     delalloc reservation created by a previous call to this function.
058dd70c65ab736 Christoph Hellwig 2025-02-13  1635  	 *  3) another thread does direct I/O on the range that the write fault
058dd70c65ab736 Christoph Hellwig 2025-02-13  1636  	 *     happened on, which causes writeback of the dirty data.
058dd70c65ab736 Christoph Hellwig 2025-02-13  1637  	 *  4) this then set the stale flag, which cuts the current iomap
058dd70c65ab736 Christoph Hellwig 2025-02-13  1638  	 *     iteration short, causing the new call to ->iomap_begin that gets
058dd70c65ab736 Christoph Hellwig 2025-02-13  1639  	 *     us here again, but now without a sufficient reservation.
058dd70c65ab736 Christoph Hellwig 2025-02-13  1640  	 *
058dd70c65ab736 Christoph Hellwig 2025-02-13  1641  	 * This is a very unusual I/O pattern, and nothing but generic/095 is
058dd70c65ab736 Christoph Hellwig 2025-02-13  1642  	 * known to hit it. There's not really much we can do here, so turn this
058dd70c65ab736 Christoph Hellwig 2025-02-13  1643  	 * into a short write.
058dd70c65ab736 Christoph Hellwig 2025-02-13  1644  	 */
058dd70c65ab736 Christoph Hellwig 2025-02-13  1645  	if (count_fsb > ac->reserved_blocks) {
058dd70c65ab736 Christoph Hellwig 2025-02-13  1646  		xfs_warn_ratelimited(mp,
058dd70c65ab736 Christoph Hellwig 2025-02-13  1647  "Short write on ino 0x%llx comm %.20s due to three-way race with write fault and direct I/O",
058dd70c65ab736 Christoph Hellwig 2025-02-13  1648  			ip->i_ino, current->comm);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1649  		count_fsb = ac->reserved_blocks;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1650  		if (!count_fsb) {
058dd70c65ab736 Christoph Hellwig 2025-02-13  1651  			error = -EIO;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1652  			goto out_unlock;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1653  		}
058dd70c65ab736 Christoph Hellwig 2025-02-13  1654  	}
058dd70c65ab736 Christoph Hellwig 2025-02-13  1655  
058dd70c65ab736 Christoph Hellwig 2025-02-13  1656  	error = xfs_quota_reserve_blkres(ip, count_fsb);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1657  	if (error)
058dd70c65ab736 Christoph Hellwig 2025-02-13  1658  		goto out_unlock;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1659  
058dd70c65ab736 Christoph Hellwig 2025-02-13  1660  	indlen = xfs_bmap_worst_indlen(ip, count_fsb);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1661  	error = xfs_dec_fdblocks(mp, indlen, false);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1662  	if (error)
058dd70c65ab736 Christoph Hellwig 2025-02-13  1663  		goto out_unlock;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1664  	ip->i_delayed_blks += count_fsb;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1665  	xfs_mod_delalloc(ip, count_fsb, indlen);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1666  
058dd70c65ab736 Christoph Hellwig 2025-02-13  1667  	got.br_startoff = offset_fsb;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1668  	got.br_startblock = nullstartblock(indlen);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1669  	got.br_blockcount = count_fsb;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1670  	got.br_state = XFS_EXT_NORM;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1671  	xfs_bmap_add_extent_hole_delay(ip, XFS_COW_FORK, &icur, &got);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1672  	ac->reserved_blocks -= count_fsb;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1673  	iomap_flags |= IOMAP_F_NEW;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1674  
058dd70c65ab736 Christoph Hellwig 2025-02-13  1675  	trace_xfs_iomap_alloc(ip, offset, XFS_FSB_TO_B(mp, count_fsb),
058dd70c65ab736 Christoph Hellwig 2025-02-13  1676  			XFS_COW_FORK, &got);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1677  done:
058dd70c65ab736 Christoph Hellwig 2025-02-13  1678  	error = xfs_bmbt_to_iomap(ip, iomap, &got, flags, iomap_flags,
058dd70c65ab736 Christoph Hellwig 2025-02-13  1679  			xfs_iomap_inode_sequence(ip, IOMAP_F_SHARED));
058dd70c65ab736 Christoph Hellwig 2025-02-13  1680  out_unlock:
058dd70c65ab736 Christoph Hellwig 2025-02-13  1681  	xfs_iunlock(ip, lockmode);
058dd70c65ab736 Christoph Hellwig 2025-02-13  1682  	return error;
058dd70c65ab736 Christoph Hellwig 2025-02-13  1683  }
058dd70c65ab736 Christoph Hellwig 2025-02-13  1684  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Re: [PATCH 01/14] xfs: tracing; Remove unused event xfs_reflink_cow_found
Posted by Steven Rostedt 3 months, 4 weeks ago
On Thu, 12 Jun 2025 17:24:06 -0400
Steven Rostedt <rostedt@goodmis.org> wrote:

> From: Steven Rostedt <rostedt@goodmis.org>
> 
> Each trace event can take up to around 5K of text and meta data regardless
> if they are used or not. With the restructuring of the XFS COW handling,
> the tracepoint trace_xfs_reflink_cow_found() was removed but the trace
> event was still being created. Remove the creation of that trace event.
> 
> Fixes: db46e604adf8 ("xfs: merge COW handling into xfs_file_iomap_begin_delay")
> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
> ---
>  fs/xfs/xfs_trace.h | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h
> index 01d284a1c759..ae0ed0dd0a01 100644
> --- a/fs/xfs/xfs_trace.h
> +++ b/fs/xfs/xfs_trace.h
> @@ -4242,7 +4242,6 @@ DEFINE_INODE_ERROR_EVENT(xfs_reflink_unshare_error);
>  
>  /* copy on write */
>  DEFINE_INODE_IREC_EVENT(xfs_reflink_trim_around_shared);
> -DEFINE_INODE_IREC_EVENT(xfs_reflink_cow_found);
>  DEFINE_INODE_IREC_EVENT(xfs_reflink_cow_enospc);
>  DEFINE_INODE_IREC_EVENT(xfs_reflink_convert_cow);
>  

Hmm, it looks like this one is still used. I'll drop this patch.

-- Steve