fix _require_scratch test for extN, resierfs, gfs2, and btrfs
authorTheodore Ts'o <tytso@mit.edu>
Sat, 20 Jun 2009 17:05:45 +0000 (19:05 +0200)
committerChristoph Hellwig <hch@brick.lst.de>
Sat, 20 Jun 2009 17:05:45 +0000 (19:05 +0200)
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>
common.rc

index 581cfbae32656487fc82366d621d8b3964c6509a..39350b31c0fdfb36479ba2895fa4bb2a3a66b469 100644 (file)
--- a/common.rc
+++ b/common.rc
@@ -593,26 +593,23 @@ _supported_os()
 _require_scratch()
 {
     case "$FSTYP" in
-       xfs|udf)
-                if [ -z "$SCRATCH_DEV" -o "`_is_block_dev $SCRATCH_DEV`" = "" ]
+       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 [ "`_is_block_dev $SCRATCH_DEV`" = "`_is_block_dev $TEST_DEV`" ]
+                ;;
+       *)
+                if [ -z "$SCRATCH_DEV" -o "`_is_block_dev $SCRATCH_DEV`" = "" ]
                 then
                     _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" ]
+                if [ "`_is_block_dev $SCRATCH_DEV`" = "`_is_block_dev $TEST_DEV`" ]
                 then
                     _notrun "this test requires a valid \$SCRATCH_DEV"
                 fi
                 ;;
-       *)
-                _notrun "\$FSTYP ($FSTYP) unknown or not specified"
-                ;;
     esac
 
     # mounted?