]> www.infradead.org Git - users/hch/xfstests-dev.git/commitdiff
xfstests: routine to create scratch of certain size
authorEric Sandeen <sandeen@sandeen.net>
Fri, 5 Feb 2010 17:03:01 +0000 (11:03 -0600)
committerEric Sandeen <sandeen@sandeen.net>
Fri, 5 Feb 2010 17:03:01 +0000 (11:03 -0600)
This is needed for later enospc tests to be generic

We have to explicitly call the mkfs rather than
_scratch_mkfs since extN wants nr-of-blocks as
an argument -after- the device name.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
common.rc

index 1edea2f65c6930fbc14e9288cc1e77d493932ffb..0a02a2b910acc53f3e28da92f0b629495500925e 100644 (file)
--- a/common.rc
+++ b/common.rc
@@ -305,6 +305,29 @@ _scratch_mkfs()
     esac
 }
 
+# Create fs of certain size on scratch device
+# _scratch_mkfs_sized <size in bytes> [optional blocksize]
+_scratch_mkfs_sized()
+{
+    fssize=$1
+    blocksize=$2
+    [ -z "$blocksize" ] && blocksize=4096
+    let blocks=$fssize/$blocksize
+
+    case $FSTYP in
+    xfs)
+       _scratch_mkfs_xfs -d size=$fssize -b size=$blocksize
+       ;;
+    ext2|ext3|ext4)
+       /sbin/mkfs.$FSTYP -b $blocksize $SCRATCH_DEV $blocks
+       ;;
+    *)
+       _notrun "Filesystem $FSTYP not supported in _scratch_mkfs_sized"
+       ;;
+    esac
+    _scratch_mkfs
+}
+
 # Emulate an N-data-disk stripe w/ various stripe units
 # _scratch_mkfs_geom <sunit bytes> <swidth multiplier> [optional blocksize]
 _scratch_mkfs_geom()