@@ -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
@@ -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
@@ -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
: