Re: xfstests integration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I couldn't find much - but I did see this small patch which I had put
together quickly so they could run against cifs

diff --git a/common b/common
index 0723224..b2334f8 100644
--- a/common
+++ b/common
@@ -126,6 +126,7 @@ check options
     -xfs                test XFS (default)
     -udf                test UDF
     -nfs                test NFS
+    -cifs               test CIFS
     -l			line mode diff
     -xdiff		graphical mode diff
     -udiff		show unified diff (default)
@@ -158,6 +159,11 @@ testlist options
 	    xpand=false
 	    ;;

+	-cifs)	# -cifs ... set FSTYP to cifs
+	    FSTYP=cifs
+	    xpand=false
+	    ;;
+
 	-g)	# -g group ... pick from group file
 	    group=true
 	    xpand=false
@@ -311,4 +317,6 @@ case "$FSTYP" in
 	 ;;
     nfs)
 	 ;;
+    cifs)
+	 ;;
 esac
diff --git a/common.config b/common.config
index 7bed1c5..1e37840 100644
--- a/common.config
+++ b/common.config
@@ -188,6 +188,7 @@ case "$HOSTOS" in
         export BTRFS_UTIL_PROG="`set_prog_path btrfs`"
         export XFS_FSR_PROG="`set_prog_path xfs_fsr`"
         export MKFS_NFS_PROG="false"
+	export MKFS_CIFS_PROG="false"
         ;;
 esac

@@ -221,7 +222,7 @@ fi

 echo $TEST_DEV | grep -q ":" > /dev/null 2>&1
 if [ ! -b "$TEST_DEV" -a "$?" != "0" ]; then
-    echo "common.config: Error: \$TEST_DEV ($TEST_DEV) is not a block
device or a NFS filesystem"
+    echo "common.config: Error: \$TEST_DEV ($TEST_DEV) is not a block
device or an NFS or CIFS filesystem"
     exit 1
 fi

@@ -243,7 +244,7 @@ fi

 echo $SCRATCH_DEV | grep -q ":" > /dev/null 2>&1
 if [ ! -z "$SCRATCH_DEV" -a ! -b "$SCRATCH_DEV" -a "$?" != "0" ]; then
-    echo "common.config: Error: \$SCRATCH_DEV ($SCRATCH_DEV) is not a
block device or a NFS filesystem"
+    echo "common.config: Error: \$SCRATCH_DEV ($SCRATCH_DEV) is not a
block device or an NFS or CIFS filesystem"
     exit 1
 fi

diff --git a/common.rc b/common.rc
index 602513a..7ae2f7a 100644
--- a/common.rc
+++ b/common.rc
@@ -85,6 +85,10 @@ _mount_opts()
     nfs)
 	export MOUNT_OPTIONS=$NFS_MOUNT_OPTIONS
 	;;
+    cifs)
+	export MOUNT_OPTIONS=$CIFS_MOUNT_OPTIONS
+	;;
+
     ext2|ext3|ext4|ext4dev)
 	# acls & xattrs aren't turned on by default on ext$FOO
 	export MOUNT_OPTIONS="-o acl,user_xattr $EXT_MOUNT_OPTIONS"
@@ -116,6 +120,9 @@ _mkfs_opts()
     nfs)
 	export MKFS_OPTIONS=$NFS_MKFS_OPTIONS
 	;;
+    cifs)
+	export MKFS_OPTIONS=$CIFS_MKFS_OPTIONS
+	;;
     reiserfs)
 	export MKFS_OPTIONS="$REISERFS_MKFS_OPTIONS -q"
 	;;
@@ -327,6 +334,9 @@ _scratch_mkfs()
     nfs*)
 	# do nothing for nfs
 	;;
+    cifs)
+	# do nothing for cifs
+	;;
     udf)
         $MKFS_UDF_PROG $MKFS_OPTIONS $* $SCRATCH_DEV > /dev/null
 	;;
@@ -736,6 +746,13 @@ _require_scratch()
 		     _notrun "this test requires a valid \$SCRATCH_DEV"
 		 fi
 		 ;;
+	cifs)
+		 echo $SCRATCH_DEV | grep -q ":" > /dev/null 2>&1
+		 if [ -z "$SCRATCH_DEV" -o "$?" != "0" ]
+		 then
+		     _notrun "this test requires a valid \$SCRATCH_DEV"
+		 fi
+		 ;;
 	*)
 		 if [ -z "$SCRATCH_DEV" -o "`_is_block_dev $SCRATCH_DEV`" = "" ]
 		 then
@@ -1394,6 +1411,9 @@ _check_test_fs()
     nfs)
 	# no way to check consistency for nfs
 	;;
+    cifs)
+	# no way to check consistency for cifs
+	;;
     udf)
 	# do nothing for now
 	;;
@@ -1426,6 +1446,9 @@ _check_scratch_fs()
     nfs*)
 	# Don't know how to check an NFS filesystem, yet.
 	;;
+    cifs)
+	# Don't know how to check an CIFS filesystem, yet.
+	;;
     btrfs)
 	_check_btrfs_filesystem $SCRATCH_DEV
 	;;
@@ -1517,6 +1540,32 @@ _setup_nfs_scratchdir()
     testdir=$SCRATCH_MNT
 }

+_setup_cifs_scratchdir()
+{
+    [ "$FSTYP" != "cifs" ] \
+	&& _fail "setup_cifs_testdir: \$FSTYP is not cifs"
+    [ -z "$SCRATCH_DEV" ] \
+	&& _notrun "this test requires a valid host fs for \$SCRATCH_DEV"
+    [ -z "$SCRATCH_MNT" ] \
+	&& _notrun "this test requires a valid \$SCRATCH_MNT"
+
+    # mounted?
+    if _mount | grep -q $SCRATCH_DEV
+    then
+        # if it's mounted, make sure its on $SCRATCH_MNT
+        if ! _mount | grep $SCRATCH_DEV | grep -q $SCRATCH_MNT
+        then
+            _fail "\$SCRATCH_DEV is mounted but not on \$SCRATCH_MNT
- aborting"
+        fi
+    	$UMOUNT_PROG $SCRATCH_DEV
+    fi
+
+    _scratch_mkfs
+    _scratch_mount
+
+    testdir=$SCRATCH_MNT
+}
+
 #
 # Warning for UDF and NFS:
 # this function calls _setup_udf_scratchdir and _setup_udf_scratchdir
@@ -1535,6 +1584,9 @@ _setup_testdir()
     nfs*)
 	_setup_nfs_scratchdir
 	;;
+    cifs)
+	_setup_cifs_scratchdir
+	;;
     *)
 	testdir=$TEST_DIR
 	;;
@@ -1552,6 +1604,10 @@ _cleanup_testdir()
 	# umount testdir as it is $SCRATCH_MNT which could be used by xfs next
 	[ -n "$testdir" ] && $UMOUNT_PROG $testdir
 	;;
+    cifs)
+	# umount testdir as it is $SCRATCH_MNT which could be used by xfs next
+	[ -n "$testdir" ] && $UMOUNT_PROG $testdir
+	;;
     *)
 	# do nothing, testdir is $TEST_DIR
 	:

On Mon, Aug 5, 2013 at 9:59 AM, David Disseldorp <ddiss@xxxxxxx> wrote:
> Hi Steve,
>
> At SambaXP this year you mentioned that you had done some preliminary
> work towards using the xfstests suite alongside cifs.ko. Do you happen
> to still have the git repo lying around somewhere?
>
> Cheers, David



-- 
Thanks,

Steve

Attachment: xfstest.patch
Description: Binary data


[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux