[BACK]Return to 032 CVS log [TXT][DIR] Up to [Development] / xfs-cmds / xfstests

File: [Development] / xfs-cmds / xfstests / 032 (download)

Revision 1.14, Thu May 29 17:01:09 2008 UTC (9 years, 4 months ago) by bnaujok.longdrop.melbourne.sgi.com
Branch: MAIN
CVS Tags: HEAD
Changes since 1.13: +2 -2 lines

mkfs.reiserfs refuses to create a filesystem on full devices without
partitions unless it's given -f in addition to the already required Y
input to confirm the fs creation, so give the argument to it.

While we're at it also write the full command line used to create the
filesystem into the log to ease future debugging.


Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of master-melb:xfs-cmds:31250a by kenmcd.

  Execute bits changed from xxx to ---
  Fix up test with reiserfs

#! /bin/sh
# FS QA Test No. 032
#
# cross check mkfs detection of foreign filesystems
#
#-----------------------------------------------------------------------
# Copyright (c) 2000-2002 Silicon Graphics, Inc.  All Rights Reserved.
#-----------------------------------------------------------------------
#
# creator
owner=nathans@sgi.com

seq=`basename $0`
echo "QA output created by $seq"

here=`pwd`
tmp=/tmp/$$
status=1	# failure is the default!
trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
rm -f $seq.full

# get standard environment, filters and checks
. ./common.rc
. ./common.filter

# real QA test starts here
_supported_fs xfs
_supported_os Linux

_require_nobigloopfs
_require_scratch

echo "Silence is golden."
for fs in `echo /sbin/mkfs.* | sed -e 's/.sbin.mkfs.//g'`
do
	preop=""	# for special input needs
	preargs=""	# for any special pre-device options
	postargs=""	# for any special post-device options

	# minix, msdos and vfat mkfs fails for large devices, restrict to 2000 blocks
	[ $fs = minix ] && postargs=2000
	[ $fs = msdos ] && postargs=2000
	[ $fs = vfat ] && postargs=2000
	# these folks prompt before writing
	[ $fs = jfs ] && preop="echo Y |"
	[ $fs = reiserfs ] && preop="echo y |" && preargs="-f"
	# cramfs mkfs requires a directory argument
	[ $fs = cramfs ] && preargs=/proc/fs/xfs

	# overwite the first few Kb - should blow away superblocks
	src/devzero -n 20 $SCRATCH_DEV >/dev/null

	# create a filesystem of this type
	echo "=== Creating $fs filesystem..." >>$seq.full
	echo "    ( $preop mkfs -t $fs $preargs $SCRATCH_DEV $postargs )" >>$seq.full
	eval $preop mkfs -t $fs $preargs $SCRATCH_DEV $postargs >>$seq.full 2>&1

	# next, ensure we don't overwrite it
	echo "=== Attempting XFS overwrite of $fs..." >>$seq.full
	/sbin/mkfs.xfs $SCRATCH_DEV >>$seq.full 2>&1

	[ $? -eq 0 ] && echo "Failed - overwrote fs type ${fs}!"
done

# success, all done
status=0
exit