]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs: simulate per-AG reservations being critically low
authorDarrick J. Wong <darrick.wong@oracle.com>
Tue, 25 Oct 2016 01:46:51 +0000 (12:46 +1100)
committerDave Chinner <david@fromorbit.com>
Tue, 25 Oct 2016 01:46:51 +0000 (12:46 +1100)
Source kernel commit: a35eb41519ab8db90e87d375ee9362d6e080ca4c

Create an error injection point that enables us to simulate being
critically low on per-AG block reservations.  This should enable us to
simulate this specific ENOSPC condition so that we can test falling back
to a regular file copy.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
libxfs/xfs_ag_resv.c

index 7e03328f99a547db0fcb3f147bb51e709d2cafcd..57f01a74b8ac34df3abf136078f79ab63e131266 100644 (file)
@@ -108,7 +108,9 @@ xfs_ag_resv_critical(
        trace_xfs_ag_resv_critical(pag, type, avail);
 
        /* Critically low if less than 10% or max btree height remains. */
-       return avail < orig / 10 || avail < XFS_BTREE_MAXLEVELS;
+       return XFS_TEST_ERROR(avail < orig / 10 || avail < XFS_BTREE_MAXLEVELS,
+                       pag->pag_mount, XFS_ERRTAG_AG_RESV_CRITICAL,
+                       XFS_RANDOM_AG_RESV_CRITICAL);
 }
 
 /*