]> git.apps.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
xfs/163: skip test if we can't shrink due to enospc issues
authorDarrick J. Wong <djwong@kernel.org>
Tue, 26 Nov 2024 01:22:21 +0000 (17:22 -0800)
committerZorro Lang <zlang@kernel.org>
Thu, 28 Nov 2024 13:39:49 +0000 (21:39 +0800)
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>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Zorro Lang <zlang@kernel.org>
tests/xfs/163

index 2bd94060222f964fa84f16fa35c0459b7caeb640..75c3113dc2fd03bec204ff0ad232f39dd332fa60 100755 (executable)
@@ -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 ]