summaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_trace.h
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2016-10-03 09:11:53 -0700
committerDarrick J. Wong <darrick.wong@oracle.com>2016-10-05 16:26:32 -0700
commit1f08af52e7c981e9877796a2d90b0e0f08666945 (patch)
treeae46494e7e50277389871deba53fca10e98f4f97 /fs/xfs/xfs_trace.h
parent39aff5fdb91e8fee6a2c28910a263a5228619ba2 (diff)
downloadlinux-stable-1f08af52e7c981e9877796a2d90b0e0f08666945.tar.gz
linux-stable-1f08af52e7c981e9877796a2d90b0e0f08666945.tar.bz2
linux-stable-1f08af52e7c981e9877796a2d90b0e0f08666945.zip
xfs: implement swapext for rmap filesystems
Implement swapext for filesystems that have reverse mapping. Back in the reflink patches, we augmented the bmap code with a 'REMAP' flag that updates only the bmbt and doesn't touch the allocator and implemented log redo items for those two operations. Now we can rewrite extent swapping as a (looong) series of remap operations. This is far less efficient than the fork swapping method implemented in the past, so we only switch this on for rmap. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs/xfs/xfs_trace.h')
-rw-r--r--fs/xfs/xfs_trace.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h
index 75bf18bc275b..2586c9c9cd91 100644
--- a/fs/xfs/xfs_trace.h
+++ b/fs/xfs/xfs_trace.h
@@ -3373,6 +3373,11 @@ DEFINE_INODE_EVENT(xfs_reflink_cancel_pending_cow);
DEFINE_INODE_IREC_EVENT(xfs_reflink_cancel_cow);
DEFINE_INODE_ERROR_EVENT(xfs_reflink_cancel_pending_cow_error);
+/* rmap swapext tracepoints */
+DEFINE_INODE_IREC_EVENT(xfs_swap_extent_rmap_remap);
+DEFINE_INODE_IREC_EVENT(xfs_swap_extent_rmap_remap_piece);
+DEFINE_INODE_ERROR_EVENT(xfs_swap_extent_rmap_error);
+
#endif /* _TRACE_XFS_H */
#undef TRACE_INCLUDE_PATH