From: Darrick J. Wong Date: Mon, 25 Nov 2024 21:14:23 +0000 (-0800) Subject: xfs: support error injection when freeing rt extents X-Git-Tag: v6.13.0~107 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e200799d5bbd43fba8e3ef51ca503a2a017f1a06;p=thirdparty%2Fxfsprogs-dev.git xfs: support error injection when freeing rt extents Source kernel commit: fc91d9430e5dd2008ef6c1350fa15c1a0ed17f11 A handful of fstests expect to be able to test what happens when extent free intents fail to actually free the extent. Now that we're supporting EFIs for realtime extents, add to xfs_rtfree_extent the same injection point that exists in the regular extent freeing code. Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig --- diff --git a/libxfs/xfs_rtbitmap.c b/libxfs/xfs_rtbitmap.c index 580e74b7..b6874885 100644 --- a/libxfs/xfs_rtbitmap.c +++ b/libxfs/xfs_rtbitmap.c @@ -19,6 +19,7 @@ #include "xfs_rtbitmap.h" #include "xfs_health.h" #include "xfs_sb.h" +#include "xfs_errortag.h" /* * Realtime allocator bitmap functions shared with userspace. @@ -1061,6 +1062,9 @@ xfs_rtfree_extent( ASSERT(rbmip->i_itemp != NULL); xfs_assert_ilocked(rbmip, XFS_ILOCK_EXCL); + if (XFS_TEST_ERROR(false, mp, XFS_ERRTAG_FREE_EXTENT)) + return -EIO; + error = xfs_rtcheck_alloc_range(&args, start, len); if (error) return error;