xfs
[Top] [All Lists]

[PATCH 01/10] xfstests: Add tmpfs support

To: xfs@xxxxxxxxxxx
Subject: [PATCH 01/10] xfstests: Add tmpfs support
From: Junho Ryu <jayr@xxxxxxxxxx>
Date: Tue, 10 Dec 2013 12:11:52 -0800
Cc: branto@xxxxxxxxxx, hughd@xxxxxxxxxx, tytso@xxxxxxx, Junho Ryu <jayr@xxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=EhBJdFZ4uqMfK/BBPUo//26G0ez5ropKeBMyomLYUsc=; b=JVgpszv4cGRAHGGikIrYz9WrYTlhkrCSV6nhvdvae112i0Zwxt+2i8JFH0nHQpkdn2 P7n1SooB7m75zOvclvAEOnqbcMCdlQJsN8SrQPtwSC4eyIOeWSH3gO1usdiasL8U2uSI zSL9NzyS7nfBFvldFbfGZgNZ/dQpUVcUAd+lQL2w3tpNB68nDE5ilJX0Mqs8W7EpkjVZ AFQ9w3keu/YRYV+47QPof4VlwSy/+LkKM4/zjc3APRabzQUIqmmXJaI9AO4fQSN9IOwX 9+xoCVxUkg/AB/8eYlRk0Q01ggACQrcuf4a8xfD+droGOWvyKIqSv2AdsgsPiGMfRHXE 3rug==
In-reply-to: <1386706321-15795-1-git-send-email-jayr@xxxxxxxxxx>
References: <1386706321-15795-1-git-send-email-jayr@xxxxxxxxxx>
From: Boris Ranto <branto@xxxxxxxxxx>

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@xxxxxxxxxx>
Signed-off-by: Junho Ryu <jayr@xxxxxxxxxx>
---
 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

<Prev in Thread] Current Thread [Next in Thread>