common: Check the file system consistency on SCRATCH_DEV
[xfstests-dev.git] / tests / generic / 124
1 #! /bin/bash
2 # FSQA Test No. 124
3 #
4 # Test preallocated_rw_pattern_test modified from CXFSQA test preallocated_rw_pattern_test
5 #
6 # pat stands for pattern.  First 8 bytes contains the 64-bit number 0,
7 # second is 1, ..., until last 8 bytes (1048568-1048575) contain 131071.
8 # patw preallocates the file and then writes the pattern, patr checks it
9 #
10 #-----------------------------------------------------------------------
11 # Copyright (c) 2006 Silicon Graphics, Inc.  All Rights Reserved.
12 #
13 # This program is free software; you can redistribute it and/or
14 # modify it under the terms of the GNU General Public License as
15 # published by the Free Software Foundation.
16 #
17 # This program is distributed in the hope that it would be useful,
18 # but WITHOUT ANY WARRANTY; without even the implied warranty of
19 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20 # GNU General Public License for more details.
21 #
22 # You should have received a copy of the GNU General Public License
23 # along with this program; if not, write the Free Software Foundation,
24 # Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
25 #
26 #-----------------------------------------------------------------------
27 #
28
29 seq=`basename $0`
30 seqres=$RESULT_DIR/$seq
31 echo "QA output created by $seq"
32
33 here=`pwd`
34 tmp=/tmp/$$
35 status=1        # failure is the default!
36 trap "_cleanup; exit \$status" 0 1 2 3 15
37
38 _cleanup()
39 {
40     cd /
41 }
42
43 # get standard environment, filters and checks
44 . ./common/rc
45 . ./common/filter
46
47 # real QA test starts here
48 _supported_fs generic
49 _supported_os Linux
50
51 _require_scratch
52 _scratch_mkfs >/dev/null 2>&1
53 _scratch_mount
54
55 # Run preallo_rw_pattern on both test and scratch partitions
56 for TESTFILE in $TEST_DIR/rw_pattern.tmp $SCRATCH_MNT/rw_pattern.tmp
57   do
58   count=1
59   while (( count < 101 ))
60     do
61     src/preallo_rw_pattern_writer $TESTFILE
62     src/preallo_rw_pattern_reader $TESTFILE
63     if (test $? -ne 0) then
64         echo Read/Write Pattern Test FAILED.
65         _cleanup
66         exit 1
67     fi
68     rm $TESTFILE
69     ((count=count+1))
70   done #done for count of  100
71 done
72
73 if (test $? -eq 0 ) then
74     status=0
75 fi
76
77 umount $SCRATCH_DEV
78
79 exit