fix _require_scratch test for extN, resierfs, gfs2, and btrfs

The extN, reiserfs, gfs2, and btrfs filesysytem types should use the
same check for a block device as XFS and UDF, and not the test for
NFS, which was checking for host:/foo/bar/baz when checking for a
scratch device.

Also, the NFS logic was also incorrect, in that it would allow a
zero-length SCRATCH_DEV to continue.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Felix Blyakher <felixb@sgi.com>
This commit is contained in:
Theodore Ts'o
2009-06-20 19:05:45 +02:00
committed by Christoph Hellwig
parent 41c40276a4
commit 74dee07d4a
+8 -11
View File
@@ -593,7 +593,14 @@ _supported_os()
_require_scratch()
{
case "$FSTYP" in
xfs|udf)
nfs*)
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
_notrun "this test requires a valid \$SCRATCH_DEV"
@@ -603,16 +610,6 @@ _require_scratch()
_notrun "this test requires a valid \$SCRATCH_DEV"
fi
;;
nfs*|ext2|ext3|ext4|reiserfs|gfs2|btrfs)
echo $SCRATCH_DEV | grep -q ":" > /dev/null 2>&1
if [ ! -z "$SCRATCH_DEV" -a ! -b "$SCRATCH_DEV" -a "$?" != "0" ]
then
_notrun "this test requires a valid \$SCRATCH_DEV"
fi
;;
*)
_notrun "\$FSTYP ($FSTYP) unknown or not specified"
;;
esac
# mounted?