diff options
author | Darrick J. Wong <darrick.wong@oracle.com> | 2016-10-03 09:11:53 -0700 |
---|---|---|
committer | Darrick J. Wong <darrick.wong@oracle.com> | 2016-10-05 16:26:32 -0700 |
commit | 1f08af52e7c981e9877796a2d90b0e0f08666945 (patch) | |
tree | ae46494e7e50277389871deba53fca10e98f4f97 /fs/xfs/xfs_trace.h | |
parent | 39aff5fdb91e8fee6a2c28910a263a5228619ba2 (diff) | |
download | linux-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.h | 5 |
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 |