[PATCH 06/12] xfs/163: skip test if we can't shrink due to enospc issues

Darrick J. Wong
2024-11-18T23:02:57Z

From: Darrick J. Wong <djwong@kernel.org>

If this test fails due to insufficient space, skip this test. This can
happen if a realtime volume is enabled on the filesystem and we cannot
shrink due to the rtbitmap.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
---
tests/xfs/163 | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/tests/xfs/163 b/tests/xfs/163
index 2bd94060222f96..75c3113dc2fd03 100755
--- a/tests/xfs/163
+++ b/tests/xfs/163
@@ -17,13 +17,20 @@ _begin_fstest auto quick growfs shrinkfs

test_shrink()
{
- $XFS_GROWFS_PROG -D"$1" $SCRATCH_MNT >> $seqres.full 2>&1
+ $XFS_GROWFS_PROG -D"$1" $SCRATCH_MNT &> $tmp.growfs
ret=$?

_scratch_unmount
_check_scratch_fs
_scratch_mount

+ # If we couldn't shrink the filesystem due to lack of space, we're
+ # done with this test.
+ [ $1 -ne $dblocks ] && \
+ grep -q 'No space left on device' $tmp.growfs && \
+ _notrun "Could not shrink due to lack of space"
+ cat $tmp.growfs >> $seqres.full
+
$XFS_INFO_PROG $SCRATCH_MNT 2>&1 | _filter_mkfs 2>$tmp.growfs >/dev/null
. $tmp.growfs
[ $ret -eq 0 -a $1 -eq $dblocks ]