3 # old distros are missing "truncate", emulate it with "dd"
6 [ "$1" = "-s" ] && size=$2 && shift 2
8 dd if=/dev/zero of=$1 bs=1 count=0 seek=$size >> $LOG 2>&1
13 echo $test_description starting > $LOG
17 # Verify that the $TMP filesystem handles $SIZE_2 sparse files.
18 # If that fails, try the local filesystem instead.
19 if truncate -s $SIZE_2 $TMPFILE 2> /dev/null; then
20 echo "using $TMPFILE" >> $LOG
23 export TMPFILE=$(mktemp ./$test_name.tmp.XXXXXX)
25 echo "using $TMPFILE" >> $LOG
26 if ! truncate -s $SIZE_2 $TMPFILE >> $LOG 2>&1; then
33 echo $MKE2FS $FEATURES -qF $TMPFILE $SIZE_1 >> $LOG
34 $MKE2FS $FEATURES -qF $TMPFILE $SIZE_1 >> $LOG
36 OUT_TMP=$(mktemp ${TMPDIR:-/tmp}/csum-tmp.XXXXXX)
39 cat $E2FSCK >> $OUT_TMP
40 echo $CRCSUM $OUT_TMP >> $LOG 2>&1
41 CSUM_1=$($CRCSUM $OUT_TMP)
42 echo Checksum is $CSUM_1 >> $LOG
44 echo Setting up file system >> $LOG
45 $DEBUGFS -w $TMPFILE >> $LOG 2>&1 << EOF
57 echo $FSCK -fy $TMPFILE >> $LOG 2>&1
58 $FSCK -fy $TMPFILE >> $LOG 2>&1
60 echo $RESIZE2FS $RESIZE2FS_OPTS -d 31 $TMPFILE $SIZE_2 >> $LOG 2>&1
61 if ! $RESIZE2FS $RESIZE2FS_OPTS -d 31 $TMPFILE $SIZE_2 >> $LOG 2>&1
66 echo $FSCK -fy $TMPFILE >> $LOG 2>&1
67 if ! $FSCK -fy $TMPFILE >> $LOG 2>&1
69 $DUMPE2FS $TMPFILE >> $LOG
73 echo $DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1
74 $DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1
76 echo $CRCSUM $OUT_TMP >> $LOG 2>&1
77 CSUM_2=$($CRCSUM $OUT_TMP)
78 echo Checksum is $CSUM_2 >> $LOG
80 if test "$CSUM_1" != "$CSUM_2"
85 echo $RESIZE2FS $RESIZE2FS_OPTS -d 31 -M $TMPFILE $SIZE_2 >> $LOG 2>&1
86 if ! $RESIZE2FS $RESIZE2FS_OPTS -d 31 -M $TMPFILE $SIZE_2 >> $LOG 2>&1
91 echo $FSCK -fy $TMPFILE >> $LOG 2>&1
92 if ! $FSCK -fy $TMPFILE >> $LOG 2>&1
94 $DUMPE2FS $TMPFILE >> $LOG
98 echo $DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1
99 $DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1
101 echo $CRCSUM $OUT_TMP >> $LOG 2>&1
102 CSUM_2=$($CRCSUM $OUT_TMP)
103 echo Checksum is $CSUM_2 >> $LOG
105 if test "$CSUM_1" != "$CSUM_2"
110 echo $RESIZE2FS $RESIZE2FS_OPTS -d 31 -M $TMPFILE $SIZE_2 >> $LOG 2>&1
111 if ! $RESIZE2FS $RESIZE2FS_OPTS -d 31 -M $TMPFILE $SIZE_2 >> $LOG 2>&1
116 echo $FSCK -fy $TMPFILE >> $LOG 2>&1
117 if ! $FSCK -fy $TMPFILE >> $LOG 2>&1
119 $DUMPE2FS $TMPFILE >> $LOG
123 echo $DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1
124 $DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1
126 echo $CRCSUM $OUT_TMP >> $LOG 2>&1
127 CSUM_2=$($CRCSUM $OUT_TMP)
128 echo Checksum is $CSUM_2 >> $LOG
130 if test "$CSUM_1" != "$CSUM_2"
135 echo $RESIZE2FS $RESIZE2FS_OPTS -d 31 -M $TMPFILE $SIZE_2 >> $LOG 2>&1
136 if ! $RESIZE2FS $RESIZE2FS_OPTS -d 31 -M $TMPFILE $SIZE_2 >> $LOG 2>&1
141 echo $FSCK -fy $TMPFILE >> $LOG 2>&1
142 if ! $FSCK -fy $TMPFILE >> $LOG 2>&1
144 $DUMPE2FS $TMPFILE >> $LOG
148 echo $DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1
149 $DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1
151 echo $CRCSUM $OUT_TMP >> $LOG 2>&1
152 CSUM_2=$($CRCSUM $OUT_TMP)
153 echo Checksum is $CSUM_2 >> $LOG
160 if test "$CSUM_1" != "$CSUM_2"