[PATCH 01/10] xfstests: Add tmpfs support

Junho Ryu
2013-12-10T20:12:22Z

From: Boris Ranto <branto@redhat.com>

This is just a simple patch to get the tmpfs working as a target file
system. The patch copies the way nfs is handled in xfstests.

I didn't change the xfstests logic to recognize a proper SCRATCH_DEV.
Hence, the SCRATCH_DEV for tmpfs should be in nfs form (with ':' sign
in it) in order for this to work properly.

Signed-off-by: Boris Ranto <branto@redhat.com>
Signed-off-by: Junho Ryu <jayr@google.com>
---
check | 2 ++
common/rc | 22 ++++++++++++++++++++++
2 files changed, 24 insertions(+)

diff --git a/check b/check
index c88bcf2..320ad26 100755
--- a/check
+++ b/check
@@ -73,6 +73,7 @@ usage()

check options
-nfs test NFS
+ -tmpfs test TMPFS
-l line mode diff
-udiff show unified diff (default)
-n show me, do not run tests
@@ -207,6 +208,7 @@ while [ $# -gt 0 ]; do
-\? | -h | --help) usage ;;

-nfs) FSTYP=nfs ;;
+ -tmpfs) FSTYP=tmpfs ;;

-g) group=$2 ; shift ;
GROUP_LIST="$GROUP_LIST $group"
diff --git a/common/rc b/common/rc
index 5f61d57..a2005c9 100644
--- a/common/rc
+++ b/common/rc
@@ -112,6 +112,10 @@ _mount_opts()
# acls aren't turned on by default on gfs2
export MOUNT_OPTIONS="-o acl $GFS2_MOUNT_OPTIONS"
;;
+ tmpfs)
+ # We need to specify the size at mount, use 512 MB by default
+ export MOUNT_OPTIONS="-o size=512M $TMPFS_MOUNT_OPTIONS"
+ ;;
*)
;;
esac
@@ -140,6 +144,9 @@ _mkfs_opts()
jfs)
export MKFS_OPTIONS="$JFS_MKFS_OPTIONS -q"
;;
+ tmpfs)
+ export MKFS_OPTIONS="$TMPFS_MKFS_OPTIONS"
+ ;;
*)
;;
esac
@@ -544,6 +551,9 @@ _scratch_mkfs()
ext4)
_scratch_mkfs_ext4 $*
;;
+ tmpfs)
+ # do nothing for tmpfs
+ ;;
*)
yes | $MKFS_PROG -t $FSTYP -- $MKFS_OPTIONS $* $SCRATCH_DEV
;;
@@ -977,6 +987,12 @@ _require_scratch()
nfs*)
_notrun "requires a scratch device"
;;
+ tmpfs)
+ if [ -z "$SCRATCH_DEV" -o ! -d "$SCRATCH_MNT" ];
+ then
+ _notrun "this test requires a valid \$SCRATCH_MNT and unique $SCRATCH_DEV"
+ fi
+ ;;
*)
if [ -z "$SCRATCH_DEV" -o "`_is_block_dev $SCRATCH_DEV`" = "" ]
then
@@ -1701,6 +1717,9 @@ _check_test_fs()
btrfs)
_check_btrfs_filesystem $TEST_DEV
;;
+ tmpfs)
+ # no way to check consistency for tmpfs
+ ;;
*)
_check_generic_filesystem $TEST_DEV
;;
@@ -1733,6 +1752,9 @@ _check_scratch_fs()
btrfs)
_check_btrfs_filesystem $device
;;
+ tmpfs)
+ # no way to check consistency for tmpfs
+ ;;
*)
_check_generic_filesystem $device
;;
--
1.8.5.1