]>
Commit | Line | Data |
---|---|---|
c864b9eb DW |
1 | if test -x $DEBUGFS_EXE; then |
2 | ||
3 | FSCK_OPT=-fy | |
4 | OUT=$test_name.log | |
5 | if [ -f $test_dir/expect.gz ]; then | |
6 | EXP=$test_name.tmp | |
7 | gunzip < $test_dir/expect.gz > $EXP1 | |
8 | else | |
9 | EXP=$test_dir/expect | |
10 | fi | |
11 | ||
12 | cp /dev/null $OUT | |
13 | ||
14 | $MKE2FS -F -o Linux -b 4096 -O has_journal,metadata_csum -T ext4 $TMPFILE 65536 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT 2>&1 | |
15 | ||
16 | $FSCK -fy -N test_filesys $TMPFILE > $OUT.new 2>&1 | |
17 | status=$? | |
18 | echo Exit status is $status >> $OUT.new | |
19 | sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT | |
20 | rm -f $OUT.new | |
21 | ||
22 | bitmaps="$($DUMPE2FS $TMPFILE 2>&1 | grep 'bitmap at' | sed -e 's/^.*bitmap at \([0-9]*\).*$/\1/g' | tr '\n' ',')" | |
23 | ||
24 | echo "debugfs write journal" >> $OUT | |
25 | echo "jo" > $TMPFILE.cmd | |
26 | echo "jw -b $bitmaps /dev/zero" >> $TMPFILE.cmd | |
27 | echo "jc" >> $TMPFILE.cmd | |
28 | $DEBUGFS_EXE -w -f $TMPFILE.cmd $TMPFILE 2>> $OUT.new > /dev/null | |
29 | sed -f $cmd_dir/filter.sed < $OUT.new >> $OUT | |
30 | rm -rf $OUT.new | |
31 | ||
32 | echo "disable metadata_csum on a dirty-journal fs" >> $OUT | |
33 | $TUNE2FS -O ^metadata_csum $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT 2>&1 | |
34 | ||
35 | echo "fsck the whole mess" >> $OUT | |
36 | $FSCK -fy -N test_filesys $TMPFILE > $OUT.new 2>&1 | |
37 | status=$? | |
38 | echo Exit status is $status >> $OUT.new | |
39 | sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT | |
40 | rm -f $OUT.new | |
41 | ||
96fae886 | 42 | rm -f $TMPFILE $TMPFILE.cmd |
c864b9eb DW |
43 | |
44 | cmp -s $OUT $EXP | |
45 | status=$? | |
46 | ||
47 | if [ "$status" = 0 ] ; then | |
48 | echo "$test_name: $test_description: ok" | |
49 | touch $test_name.ok | |
50 | else | |
51 | echo "$test_name: $test_description: failed" | |
52 | diff $DIFF_OPTS $EXP $OUT > $test_name.failed | |
53 | rm -f $test_name.tmp | |
54 | fi | |
55 | ||
56 | unset IMAGE FSCK_OPT OUT EXP | |
57 | ||
58 | else #if test -x $DEBUGFS_EXE; then | |
59 | echo "$test_name: $test_description: skipped" | |
60 | fi |