[PATCH] xfstests: helper to detect fs free space
Eric Sandeen
sandeen at sandeen.net
Thu Jan 28 22:42:48 CST 2010
Make a common helper to skip a test if there's not enough
free space on the target fs.
Signed-off-by: Eric Sandeen <sandeen at sandeen.net>
---
diff --git a/180 b/180
index 6ba32fe..c303169 100755
--- a/180
+++ b/180
@@ -51,10 +51,8 @@ _require_scratch
_scratch_mkfs_xfs >/dev/null 2>&1
_scratch_mount
-# Do we have enough space on disk?
-FREE_BLOCKS=`df -klP $SCRATCH_MNT | grep -v Filesystem | awk '{print $4}'`
-[ $FREE_BLOCKS -lt 10485760 ] && _notrun "This test requires at least 10GB of \
- $SCRATCH_DEV to run"
+# Do we have enough space on disk? 10G
+_require_fs_space $SCRATCH_MNT 10485760
_check_files()
{
diff --git a/217 b/217
index 6032578..19540ad 100755
--- a/217
+++ b/217
@@ -50,6 +50,8 @@ _setup_testdir
_require_scratch
_scratch_mkfs_xfs >/dev/null 2>&1
_scratch_mount
+# 16T mkfs requires a bit over 2G free
+_require_fs_space $SCRATCH_MNT 2202000
_require_loop
LOOP_DEV=$SCRATCH_MNT/test_fs
diff --git a/common.rc b/common.rc
index 237f3aa..537f575 100644
--- a/common.rc
+++ b/common.rc
@@ -755,7 +755,8 @@ _require_user()
# check that xfs_io, glibc, kernel, and filesystem all (!) support
# fallocate
#
-_require_xfs_io_falloc() {
+_require_xfs_io_falloc()
+{
testio=`$XFS_IO_PROG -F -f -c "falloc 0 1m" $TEST_DIR/$tmp.io 2>&1`
rm -f $TEST_DIR/$tmp.io 2>&1 > /dev/null
echo $testio | grep -q "not found" && \
@@ -764,6 +765,19 @@ _require_xfs_io_falloc() {
_notrun "xfs_io fallocate command failed (old kernel/wrong fs?)"
}
+# Check that a fs has enough free space (in 1024b blocks)
+#
+_require_fs_space()
+{
+ MNT=$1
+ BLOCKS=$2 # in units of 1024
+ let GB=$BLOCKS/1024/1024
+
+ FREE_BLOCKS=`df -klP $MNT | grep -v Filesystem | awk '{print $4}'`
+ [ $FREE_BLOCKS -lt $BLOCKS ] && \
+ _notrun "This test requires at least ${GB}GB free on $MNT to run"
+}
+
# check that a FS on a device is mounted
# if so, return mount point
#
More information about the xfs
mailing list