#! /bin/bash
-# FS QA Test No. 032
-#
-# cross check mkfs detection of foreign filesystems
-#
-#-----------------------------------------------------------------------
+# SPDX-License-Identifier: GPL-2.0
# Copyright (c) 2000-2002 Silicon Graphics, Inc. All Rights Reserved.
#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it would be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+# FS QA Test No. 032
#
-#-----------------------------------------------------------------------
+# cross check mkfs detection of foreign filesystems
#
-
seq=`basename $0`
seqres=$RESULT_DIR/$seq
echo "QA output created by $seq"
rm -f $seqres.full
# get standard environment, filters and checks
-. ./common.rc
-. ./common.filter
+. ./common/rc
+. ./common/filter
# real QA test starts here
_supported_fs xfs btrfs
-_supported_os Linux
-_require_scratch
+_require_scratch_nocheck
_require_no_large_scratch_dev
# mkfs.btrfs did not have overwrite detection at first
fi
echo "Silence is golden."
-for fs in `echo ${MKFS_PROG}.* | sed -e 's/.sbin.mkfs.//g'`
+for fs in `echo ${MKFS_PROG}.* | sed -e "s:${MKFS_PROG}.::g"`
do
preop="" # for special input needs
preargs="" # for any special pre-device options
[ $fs = gfs ] && preop="echo y |" && preargs="-p lock_nolock -j 1"
[ $fs = gfs2 ] && preop="echo y |" && preargs="-p lock_nolock -j 1"
[ $fs = reiserfs ] && preop="echo y |" && preargs="-f"
+ [ $fs = reiser4 ] && preop="echo y |" && preargs="-f"
# cramfs mkfs requires a directory argument
[ $fs = cramfs ] && preargs=/proc/fs
[ $fs = ext2 ] && preargs="-F"
[ $fs = ext3 ] && preargs="-F"
[ $fs = ext4 ] && preargs="-F"
[ $fs = ext4dev ] && preargs="-F"
+ # jffs2 mkfs requires '-r $directory' and '-o $image'
+ [ $fs = jffs2 ] && preargs="-r /proc/fs -o"
# overwite the first few Kb - should blow away superblocks
- src/devzero -n 20 $SCRATCH_DEV >/dev/null
+ $here/src/devzero -n 20 $SCRATCH_DEV >/dev/null
# create a filesystem of this type
echo "=== Creating $fs filesystem..." >>$seqres.full
if [ $? -eq 0 ] ; then
# next, ensure we don't overwrite it
+ # jffs2 mkfs doesn't check overwrite case
+ [ $fs = jffs2 ] && continue
+
echo "=== Attempting $FSTYP overwrite of $fs..." >>$seqres.full
- ${MKFS_PROG}.$FSTYP $SCRATCH_DEV >>$seqres.full 2>&1
+ ${MKFS_PROG} -t $FSTYP $SCRATCH_DEV >>$seqres.full 2>&1
[ $? -eq 0 ] && echo "Failed - overwrote fs type ${fs}!"
else