Add GPL license plate to SGI's test files.
[xfstests-dev.git] / 017
1 #! /bin/sh
2 #
3 #-----------------------------------------------------------------------
4 # Copyright (c) 2000-2002 Silicon Graphics, Inc.  All Rights Reserved.
5 #
6 # This program is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU General Public License as
8 # published by the Free Software Foundation.
9 #
10 # This program is distributed in the hope that it would be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write the Free Software Foundation,
17 # Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18 #
19 #-----------------------------------------------------------------------
20 #
21 # FS QA Test No. 017
22 #
23 # test remount ro - pv 795642
24 #
25 # creator
26 owner=dxm@sgi.com
27
28 seq=`basename $0`
29 echo "QA output created by $seq"
30
31 here=`pwd`
32 tmp=/tmp/$$
33 status=1
34 trap "_cleanup; rm -f $tmp.*; exit \$status" 0 1 2 3 15
35
36 _cleanup()
37 {
38     echo "*** unmount"
39     umount $SCRATCH_MNT 2>/dev/null
40 }
41
42 # get standard environment, filters and checks
43 . ./common.rc
44 . ./common.filter
45
46 # real QA test starts here
47 _supported_fs xfs
48 _supported_os Linux
49
50 _require_scratch
51
52 checkopts=""
53 [ "$USE_BIG_LOOPFS" = yes ] && checkopts=-t
54
55 echo "*** init FS"
56
57 rm -f $seq.full
58 umount $SCRATCH_DEV >/dev/null 2>&1
59 echo "*** MKFS ***"                         >>$seq.full
60 echo ""                                     >>$seq.full
61 _scratch_mkfs_xfs                           >>$seq.full 2>&1 \
62     || _fail "mkfs failed"
63 _scratch_mount                              >>$seq.full 2>&1 \
64     || _fail "mount failed"
65
66 echo "*** test"
67
68 for l in 0 1 2 3 4
69 do
70         echo "    *** test $l"
71         $FSSTRESS_PROG -d $SCRATCH_MNT -n 1000 $FSSTRESS_AVOID >>$seq.full
72
73         _scratch_mount -o remount,ro \
74             || _fail "remount ro failed"
75
76         echo ""                                 >>$seq.full
77         echo "*** xfs_logprint ***"             >>$seq.full
78         echo ""                                 >>$seq.full
79         _scratch_xfs_logprint -tb               | tee -a $seq.full \
80             | head | grep -q "<CLEAN>" || _fail "DIRTY LOG"
81
82         echo ""                             >>$seq.full
83         echo "*** XFS_CHECK ***"            >>$seq.full
84         echo ""                             >>$seq.full
85         _scratch_xfs_check $checkopts       >>$seq.full 2>&1 \
86             || _fail "xfs_check $checkopts failed"
87         _scratch_mount -o remount,rw \
88             || _fail "remount rw failed"
89 done
90
91 echo "*** done"
92 # happy exit
93 rm -f $seq.full
94 status=0
95 exit 0