Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e8e0e170 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Darrick J. Wong
Browse files

xfs: remove XFS_BMAP_TRACE_EXLIST



Instead of looping over all extents in some debug-only helper just
insert trace points into the loops that already exist in the calling
functions.

Also split the xfs_extlist trace point into one each for reading and
writing extents from disk.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
parent ca5d8e5b
Loading
Loading
Loading
Loading
+2 −21
Original line number Diff line number Diff line
@@ -487,26 +487,6 @@ xfs_bmap_check_leaf_extents(
	return;
}

/*
 * Add bmap trace insert entries for all the contents of the extent records.
 */
void
xfs_bmap_trace_exlist(
	xfs_inode_t	*ip,		/* incore inode pointer */
	xfs_extnum_t	cnt,		/* count of entries in the list */
	int		whichfork,	/* data or attr or cow fork */
	unsigned long	caller_ip)
{
	xfs_extnum_t	idx;		/* extent record index */
	xfs_ifork_t	*ifp;		/* inode fork pointer */
	int		state = xfs_bmap_fork_to_state(whichfork);

	ifp = XFS_IFORK_PTR(ip, whichfork);
	ASSERT(cnt == xfs_iext_count(ifp));
	for (idx = 0; idx < cnt; idx++)
		trace_xfs_extlist(ip, idx, state, caller_ip);
}

/*
 * Validate that the bmbt_irecs being returned from bmapi are valid
 * given the caller's original parameters.  Specifically check the
@@ -1210,6 +1190,7 @@ xfs_bmap_read_extents(
	__be64			*pp;	/* pointer to block address */
	/* REFERENCED */
	xfs_extnum_t		room;	/* number of entries there's room for */
	int			state = xfs_bmap_fork_to_state(whichfork);

	mp = ip->i_mount;
	ifp = XFS_IFORK_PTR(ip, whichfork);
@@ -1283,6 +1264,7 @@ xfs_bmap_read_extents(
						 XFS_ERRLEVEL_LOW, mp);
				goto error0;
			}
			trace_xfs_read_extent(ip, i, state, _THIS_IP_);
		}
		xfs_trans_brelse(tp, bp);
		bno = nextbno;
@@ -1300,7 +1282,6 @@ xfs_bmap_read_extents(
	if (i != XFS_IFORK_NEXTENTS(ip, whichfork))
		return -EFSCORRUPTED;
	ASSERT(i == xfs_iext_count(ifp));
	XFS_BMAP_TRACE_EXLIST(ip, i, whichfork);
	return 0;
error0:
	xfs_trans_brelse(tp, bp);
+0 −9
Original line number Diff line number Diff line
@@ -197,15 +197,6 @@ enum shift_direction {
	SHIFT_RIGHT,
};

#ifdef DEBUG
void	xfs_bmap_trace_exlist(struct xfs_inode *ip, xfs_extnum_t cnt,
		int whichfork, unsigned long caller_ip);
#define	XFS_BMAP_TRACE_EXLIST(ip,c,w)	\
	xfs_bmap_trace_exlist(ip,c,w, _THIS_IP_)
#else
#define	XFS_BMAP_TRACE_EXLIST(ip,c,w)
#endif

void	xfs_trim_extent(struct xfs_bmbt_irec *irec, xfs_fileoff_t bno,
		xfs_filblks_t len);
void	xfs_trim_extent_eof(struct xfs_bmbt_irec *, struct xfs_inode *);
+6 −2
Original line number Diff line number Diff line
@@ -336,6 +336,7 @@ xfs_iformat_extents(
{
	struct xfs_mount	*mp = ip->i_mount;
	struct xfs_ifork	*ifp = XFS_IFORK_PTR(ip, whichfork);
	int			state = xfs_bmap_fork_to_state(whichfork);
	int			nex = XFS_DFORK_NEXTENTS(dip, whichfork);
	int			size = nex * sizeof(xfs_bmbt_rec_t);
	struct xfs_bmbt_rec	*dp;
@@ -373,8 +374,8 @@ xfs_iformat_extents(
						 XFS_ERRLEVEL_LOW, mp);
				return -EFSCORRUPTED;
			}
			trace_xfs_read_extent(ip, i, state, _THIS_IP_);
		}
		XFS_BMAP_TRACE_EXLIST(ip, nex, whichfork);
	}
	ifp->if_flags |= XFS_IFEXTENTS;
	return 0;
@@ -772,6 +773,7 @@ xfs_iextents_copy(
	xfs_bmbt_rec_t		*dp,
	int			whichfork)
{
	int			state = xfs_bmap_fork_to_state(whichfork);
	int			copied;
	int			i;
	xfs_ifork_t		*ifp;
@@ -783,7 +785,6 @@ xfs_iextents_copy(
	ASSERT(ifp->if_bytes > 0);

	nrecs = xfs_iext_count(ifp);
	XFS_BMAP_TRACE_EXLIST(ip, nrecs, whichfork);
	ASSERT(nrecs > 0);

	/*
@@ -806,9 +807,12 @@ xfs_iextents_copy(
			continue;
		}

		trace_xfs_write_extent(ip, i, state, _RET_IP_);

		/* Translate to on disk format */
		put_unaligned_be64(ep->l0, &dp->l0);
		put_unaligned_be64(ep->l1, &dp->l1);

		dp++;
		copied++;
	}
+2 −1
Original line number Diff line number Diff line
@@ -309,7 +309,8 @@ DEFINE_EVENT(xfs_bmap_class, name, \
DEFINE_BMAP_EVENT(xfs_iext_remove);
DEFINE_BMAP_EVENT(xfs_bmap_pre_update);
DEFINE_BMAP_EVENT(xfs_bmap_post_update);
DEFINE_BMAP_EVENT(xfs_extlist);
DEFINE_BMAP_EVENT(xfs_read_extent);
DEFINE_BMAP_EVENT(xfs_write_extent);

DECLARE_EVENT_CLASS(xfs_buf_class,
	TP_PROTO(struct xfs_buf *bp, unsigned long caller_ip),