]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs: support error injection when freeing rt extents
authorDarrick J. Wong <djwong@kernel.org>
Mon, 25 Nov 2024 21:14:23 +0000 (13:14 -0800)
committerDarrick J. Wong <djwong@kernel.org>
Tue, 24 Dec 2024 02:01:30 +0000 (18:01 -0800)
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 <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
libxfs/xfs_rtbitmap.c

index 580e74b7d317db9ca32a18ea0dc4e7d7da26cb04..b6874885107f09fbac61dff3fb6915ace36b163f 100644 (file)
@@ -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;