diff options
author | Darrick J. Wong <darrick.wong@oracle.com> | 2016-08-03 03:26:33 +0200 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2016-08-03 03:26:33 +0200 |
commit | ba9e780246a15a35f8ebe5b60f4a11bb58e85bda (patch) | |
tree | 8216f1d66b69c2a34643d5604d79dc58278e2943 /fs/xfs/libxfs/xfs_alloc.c | |
parent | xfs: refactor redo intent item processing (diff) | |
download | linux-ba9e780246a15a35f8ebe5b60f4a11bb58e85bda.tar.xz linux-ba9e780246a15a35f8ebe5b60f4a11bb58e85bda.zip |
xfs: add tracepoints and error injection for deferred extent freeing
Add a couple of tracepoints for the deferred extent free operation and
a site for injecting errors while finishing the operation. This makes
it easier to debug deferred ops and test log redo.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'fs/xfs/libxfs/xfs_alloc.c')
-rw-r--r-- | fs/xfs/libxfs/xfs_alloc.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/xfs/libxfs/xfs_alloc.c b/fs/xfs/libxfs/xfs_alloc.c index 5993f87eee3e..22ac3f136f21 100644 --- a/fs/xfs/libxfs/xfs_alloc.c +++ b/fs/xfs/libxfs/xfs_alloc.c @@ -2702,6 +2702,13 @@ xfs_free_extent( ASSERT(len != 0); + trace_xfs_bmap_free_deferred(mp, agno, 0, agbno, len); + + if (XFS_TEST_ERROR(false, mp, + XFS_ERRTAG_FREE_EXTENT, + XFS_RANDOM_FREE_EXTENT)) + return -EIO; + error = xfs_free_extent_fix_freelist(tp, agno, &agbp); if (error) return error; |