_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()
{
_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
# 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" && \
_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
#