diff mbox series

[v4,1/3] common/xfs: add _require_xfs_scratch_shrink helper

Message ID 20210402094937.4072606-2-hsiangkao@redhat.com (mailing list archive)
State New
Headers show
Series xfs: testcases for shrinking free space in the last AG | expand

Commit Message

Gao Xiang April 2, 2021, 9:49 a.m. UTC
In order to detect whether the current kernel supports XFS shrinking.

Signed-off-by: Gao Xiang <hsiangkao@redhat.com>
---
 common/xfs | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
diff mbox series

Patch

diff --git a/common/xfs b/common/xfs
index 69f76d6e..c6c2e3f5 100644
--- a/common/xfs
+++ b/common/xfs
@@ -766,6 +766,20 @@  _require_xfs_mkfs_without_validation()
 	fi
 }
 
+_require_xfs_scratch_shrink()
+{
+	_require_scratch
+	_require_command "$XFS_GROWFS_PROG" xfs_growfs
+
+	_scratch_mkfs_xfs | _filter_mkfs 2>$tmp.mkfs >/dev/null
+	. $tmp.mkfs
+	_scratch_mount
+	# here just to check if kernel supports, no need do more extra work
+	$XFS_GROWFS_PROG -D$((dblocks-1)) "$SCRATCH_MNT" > /dev/null 2>&1 || \
+		_notrun "kernel does not support shrinking"
+	_scratch_unmount
+}
+
 # XFS ability to change UUIDs on V5/CRC filesystems
 #
 _require_meta_uuid()