Test 041 specifically requests a 32MB filesystem from mkfs, no point running in large...
[xfstests-dev.git] / 082
1 #! /bin/sh
2 # XFS QA Test No. 082
3 #
4 # Test out the v2 stripe logs with logprint
5 #
6 #-----------------------------------------------------------------------
7 # Copyright (c) 2000-2003 Silicon Graphics, Inc.  All Rights Reserved.
8
9 # This program is free software; you can redistribute it and/or modify it
10 # under the terms of version 2 of the GNU General Public License as
11 # published by the Free Software Foundation.
12
13 # This program is distributed in the hope that it would be useful, but
14 # WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16
17 # Further, this software is distributed without any warranty that it is
18 # free of the rightful claim of any third person regarding infringement
19 # or the like.  Any license provided herein, whether implied or
20 # otherwise, applies only to this software file.  Patent licenses, if
21 # any, provided herein do not apply to combinations of this program with
22 # other software, or any other product whatsoever.
23
24 # You should have received a copy of the GNU General Public License along
25 # with this program; if not, write the Free Software Foundation, Inc., 59
26 # Temple Place - Suite 330, Boston MA 02111-1307, USA.
27
28 # Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
29 # Mountain View, CA  94043, or:
30
31 # http://www.sgi.com 
32
33 # For further information regarding this notice, see: 
34
35 # http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
36 #-----------------------------------------------------------------------
37 #
38 # creator
39 owner=root@icy.melbourne.sgi.com
40
41 seq=`basename $0`
42 echo "QA output created by $seq"
43
44 here=`pwd`
45 tmp=/tmp/$$
46 status=1        # failure is the default!
47 trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
48
49 # get standard environment, filters and checks
50 . ./common.rc
51 . ./common.filter
52 . ./common.log
53
54 _cleanup()
55 {
56     _cleanup_logfiles
57     rm -f $tmp.*
58     echo "*** unmount"
59     umount $SCRATCH_MNT 2>/dev/null
60 }
61 trap "_cleanup; exit \$status" 0 1 2 3 15
62
63 # real QA test starts here
64 _notrun "Not finished yet"
65
66 # prelim
67 rm -f $seq.full $tmp.*
68 _require_scratch
69 _clear_opts
70 echo "*** init FS"
71 umount $SCRATCH_DEV >/dev/null 2>&1
72
73 cat >$tmp.seq.params <<EOF
74 # mkfs-opt        mount-opt            start-blk
75   -lversion=2 -ologbsize=32k           2
76   -lversion=2,su=4096 -ologbsize=32k   8
77   -lversion=2,su=32768 -ologbsize=32k  64
78 # expect following line to fail
79   -lversion=2,su=36864 -ologbsize=32k  72
80 EOF
81
82 # Do the work for various log params which
83 # should not effect the data content of the log
84 # Try with and without sync'ing - sync'ing will mean that
85 # the log will be written out unfilled and thus the log 
86 # stripe can have an effect.
87 #
88 for s in sync nosync ; do
89     cat $tmp.seq.params \
90     | while read mkfs mnt start restofline
91     do
92         if [ "$mkfs" != "#" ]; then 
93             echo "--- mkfs=$mkfs, mnt=$mnt, start=$start, sync=$s ---"
94             _mkfs_log $mkfs
95             if [ $s = "sync" ]; then
96                 _create_log_sync $mnt
97             else
98                 _create_log $mnt
99             fi
100             _check_log
101
102             sync_suffix=".$s"
103
104             if [ $s = "sync" ]; then
105                 # if sync then we have chance of DATA FORK EXTENTS items
106                 # not hanging around very long due to inode syncing to disk
107                 # (see comment in xfs_iflush_int())
108                 # and this is to hard to reconcile in the op output
109                 :
110             else
111                 _print_operation
112                 _cmp_op_output $seq.noquota.op $filtered
113             fi
114
115             _print_transaction_inode $start
116             _cmp_output $seq.noquota.trans_inode $filtered
117
118             _print_transaction_buf $start
119             _cmp_output $seq.noquota.trans_buf $filtered
120         fi
121     done
122 done
123
124 # got thru it all so we may have success
125 if [ ! -e $tmp.error ]; then
126     status=0
127 fi
128
129 exit