Add a new growfs test 078, and do a better job of cleaning tmp files after a QA run
authorfsgqa <fsgqa>
Fri, 15 Aug 2003 01:24:41 +0000 (01:24 +0000)
committerfsgqa <fsgqa>
Fri, 15 Aug 2003 01:24:41 +0000 (01:24 +0000)
078 [new file with mode: 0755]
078.out [new file with mode: 0644]
check
group

diff --git a/078 b/078
new file mode 100755 (executable)
index 0000000..2186749
--- /dev/null
+++ b/078
@@ -0,0 +1,107 @@
+#! /bin/sh
+# XFS QA Test No. 078
+#
+# Check several growfs corner cases
+#
+#-----------------------------------------------------------------------
+# Copyright (c) 2000-2003 Silicon Graphics, Inc.  All Rights Reserved.
+# 
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of version 2 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.
+# 
+# Further, this software is distributed without any warranty that it is
+# free of the rightful claim of any third person regarding infringement
+# or the like.  Any license provided herein, whether implied or
+# otherwise, applies only to this software file.  Patent licenses, if
+# any, provided herein do not apply to combinations of this program with
+# other software, or any other product whatsoever.
+# 
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write the Free Software Foundation, Inc., 59
+# Temple Place - Suite 330, Boston MA 02111-1307, USA.
+# 
+# Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
+# Mountain View, CA  94043, or:
+# 
+# http://www.sgi.com 
+# 
+# For further information regarding this notice, see: 
+# 
+# http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
+#-----------------------------------------------------------------------
+#
+# creator
+owner=nathans@sgi.com
+
+seq=`basename $0`
+echo "QA output created by $seq"
+
+here=`pwd`
+tmp=/tmp/$$
+status=1
+
+_cleanup()
+{
+       umount $LOOP_MNT 2>/dev/null
+       rmdir $LOOP_MNT
+}
+trap "_cleanup; rm -f $tmp.*; exit \$status" 0 1 2 3 15
+
+# get standard environment, filters and checks
+. ./common.rc
+. ./common.filter
+
+_require_loop
+
+LOOP_DEV=$tmp.fs
+LOOP_MNT=$tmp.mnt
+
+# real QA test starts here
+echo "*** create loop mount point"
+rm -f $LOOP_MNT 2>/dev/null
+mkdir $LOOP_MNT || _fail "cannot create loopback mount point"
+
+_grow_loop()
+{
+       original=$1
+       new_size=$2
+       bsize=$3
+
+       echo
+       echo "=== GROWFS (from $original to $new_size, $bsize blocksize)"
+       echo
+
+       echo "*** mkfs loop file (size=$original)"
+       /sbin/mkfs.xfs -bsize=$bsize -dfile,name=$LOOP_DEV,size=$original \
+               | _filter_mkfs 2>/dev/null
+
+       echo "*** extend loop file"
+       xfs_io -c "pwrite $new_size $bsize" $LOOP_DEV 
+       echo "*** mount loop filesystem"
+       mount -t xfs -o loop $LOOP_DEV $LOOP_MNT
+
+       echo "*** grow loop filesystem"
+       xfs_growfs $LOOP_MNT | _filter_mkfs 2>/dev/null
+
+       echo "*** unmount and check"
+       umount $LOOP_MNT
+       _check_filesystem $LOOP_DEV
+       rm -f $LOOP_DEV
+}
+
+# Wes' problem sizes...
+_grow_loop 168024b 1376452608 4096
+
+# Some other blocksize cases...
+_grow_loop 168024b 1376452608 2048
+_grow_loop 168024b 1376452608 512
+_grow_loop 168024b 168025b 1024 
+
+echo "*** all done"
+status=0
+exit
diff --git a/078.out b/078.out
new file mode 100644 (file)
index 0000000..e471f1a
--- /dev/null
+++ b/078.out
@@ -0,0 +1,87 @@
+QA output created by 078
+*** create loop mount point
+
+=== GROWFS (from 168024b to 1376452608, 4096 blocksize)
+
+*** mkfs loop file (size=168024b)
+meta-data=DDEV isize=XXX agcount=N, agsize=XXX blks
+data     = bsize=XXX blocks=XXX, imaxpct=PCT
+         = sunit=XXX swidth=XXX, unwritten=X
+naming   =VERN bsize=XXX
+log      =LDEV bsize=XXX blocks=XXX
+realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX
+*** extend loop file
+wrote 4096/4096 bytes at offset 1376452608
+*** mount loop filesystem
+*** grow loop filesystem
+meta-data=DDEV isize=XXX agcount=N, agsize=XXX blks
+data     = bsize=XXX blocks=XXX, imaxpct=PCT
+         = sunit=XXX swidth=XXX, unwritten=X
+naming   =VERN bsize=XXX
+log      =LDEV bsize=XXX blocks=XXX
+realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX
+*** unmount and check
+
+=== GROWFS (from 168024b to 1376452608, 2048 blocksize)
+
+*** mkfs loop file (size=168024b)
+meta-data=DDEV isize=XXX agcount=N, agsize=XXX blks
+data     = bsize=XXX blocks=XXX, imaxpct=PCT
+         = sunit=XXX swidth=XXX, unwritten=X
+naming   =VERN bsize=XXX
+log      =LDEV bsize=XXX blocks=XXX
+realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX
+*** extend loop file
+wrote 2048/2048 bytes at offset 1376452608
+*** mount loop filesystem
+*** grow loop filesystem
+meta-data=DDEV isize=XXX agcount=N, agsize=XXX blks
+data     = bsize=XXX blocks=XXX, imaxpct=PCT
+         = sunit=XXX swidth=XXX, unwritten=X
+naming   =VERN bsize=XXX
+log      =LDEV bsize=XXX blocks=XXX
+realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX
+*** unmount and check
+
+=== GROWFS (from 168024b to 1376452608, 512 blocksize)
+
+*** mkfs loop file (size=168024b)
+meta-data=DDEV isize=XXX agcount=N, agsize=XXX blks
+data     = bsize=XXX blocks=XXX, imaxpct=PCT
+         = sunit=XXX swidth=XXX, unwritten=X
+naming   =VERN bsize=XXX
+log      =LDEV bsize=XXX blocks=XXX
+realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX
+*** extend loop file
+wrote 512/512 bytes at offset 1376452608
+*** mount loop filesystem
+*** grow loop filesystem
+meta-data=DDEV isize=XXX agcount=N, agsize=XXX blks
+data     = bsize=XXX blocks=XXX, imaxpct=PCT
+         = sunit=XXX swidth=XXX, unwritten=X
+naming   =VERN bsize=XXX
+log      =LDEV bsize=XXX blocks=XXX
+realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX
+*** unmount and check
+
+=== GROWFS (from 168024b to 168025b, 1024 blocksize)
+
+*** mkfs loop file (size=168024b)
+meta-data=DDEV isize=XXX agcount=N, agsize=XXX blks
+data     = bsize=XXX blocks=XXX, imaxpct=PCT
+         = sunit=XXX swidth=XXX, unwritten=X
+naming   =VERN bsize=XXX
+log      =LDEV bsize=XXX blocks=XXX
+realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX
+*** extend loop file
+wrote 1024/1024 bytes at offset 344115200
+*** mount loop filesystem
+*** grow loop filesystem
+meta-data=DDEV isize=XXX agcount=N, agsize=XXX blks
+data     = bsize=XXX blocks=XXX, imaxpct=PCT
+         = sunit=XXX swidth=XXX, unwritten=X
+naming   =VERN bsize=XXX
+log      =LDEV bsize=XXX blocks=XXX
+realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX
+*** unmount and check
+*** all done
diff --git a/check b/check
index 84eed6ae3ab4c02eb7e2480eb690bc585cacfaa9..3b66e299c6f247d0330f407f6ad3f4f56974c209 100755 (executable)
--- a/check
+++ b/check
@@ -120,6 +120,8 @@ END { if (NR > 0) {
        needwrap=false
     fi
 
+    rm -f /tmp/*.rawout /tmp/*.out /tmp/*.err /tmp/*.time
+    rm -f /tmp/check.pid /tmp/check.sts
     rm -f $tmp.*
 }
 
diff --git a/group b/group
index 221279744d7b2e263350c0e86195f1a9302f83d9..b6d33f57885533c1725675dfa9cc623d2047cf76 100644 (file)
--- a/group
+++ b/group
@@ -138,3 +138,4 @@ ioctl               nathans@sgi.com
 075 rw auto
 076 metadata rw
 077 acl attr auto
+078 growfs auto