xfstests: helper to detect fs free space

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@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
Eric Sandeen
2010-02-02 17:23:58 -06:00
parent 7a513fceb7
commit 73fee68110
3 changed files with 19 additions and 5 deletions
+2 -4
View File
@@ -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()
{
+2
View File
@@ -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
+15 -1
View File
@@ -726,7 +726,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" && \
@@ -735,6 +736,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
#