]>
Commit | Line | Data |
---|---|---|
20466c80 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 64bit,has_journal,metadata_csum -T ext4 $TMPFILE 131072 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 | ||
6aa8cff3 | 22 | bitmaps="$($DUMPE2FS $TMPFILE 2>&1 | grep 'bitmap at' | sed -e 's/^.*bitmap at \([0-9]*\).*$/\1/g' | tr '\n' ',')" |
20466c80 DW |
23 | |
24 | $DUMPE2FS $TMPFILE 2>&1 | grep '^Journal features:' >> $OUT | |
25 | ||
26 | echo "debugfs write journal" >> $OUT | |
27 | echo "jo -c" > $TMPFILE.cmd | |
28 | echo "jw -b 333,$bitmaps /dev/zero" >> $TMPFILE.cmd | |
29 | echo "jc" >> $TMPFILE.cmd | |
30 | echo "jo" >> $TMPFILE.cmd | |
31 | echo "jw -r 333" >> $TMPFILE.cmd | |
32 | echo "jc" >> $TMPFILE.cmd | |
63a801de | 33 | $DEBUGFS_EXE -w -f $TMPFILE.cmd $TMPFILE 2>> $OUT.new > /dev/null |
20466c80 DW |
34 | sed -f $cmd_dir/filter.sed < $OUT.new >> $OUT |
35 | rm -rf $OUT.new | |
36 | ||
37 | $DUMPE2FS $TMPFILE 2>&1 | grep '^Journal features:' >> $OUT | |
38 | ||
39 | test -d "$JOURNAL_DUMP_DIR" -a -w "$JOURNAL_DUMP_DIR" && cp "$TMPFILE" "$JOURNAL_DUMP_DIR/$test_name.img" | |
40 | echo "logdump -c" > $TMPFILE.cmd | |
63a801de | 41 | $DEBUGFS_EXE -f $TMPFILE.cmd $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT |
20466c80 DW |
42 | rm -rf $TMPFILE.cmd |
43 | ||
44 | echo "debugfs recover journal" >> $OUT | |
45 | echo "jr" > $TMPFILE.cmd | |
63a801de | 46 | $DEBUGFS_EXE -w -f $TMPFILE.cmd $TMPFILE 2>> $OUT.new > /dev/null |
20466c80 DW |
47 | sed -f $cmd_dir/filter.sed < $OUT.new >> $OUT |
48 | rm -rf $OUT.new | |
49 | ||
50 | $FSCK -fy -N test_filesys $TMPFILE > $OUT.new 2>&1 | |
51 | status=$? | |
52 | echo Exit status is $status >> $OUT.new | |
53 | sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT | |
54 | rm -f $OUT.new | |
55 | ||
96fae886 | 56 | rm -f $TMPFILE $TMPFILE.cmd |
20466c80 DW |
57 | |
58 | cmp -s $OUT $EXP | |
59 | status=$? | |
60 | ||
61 | if [ "$status" = 0 ] ; then | |
62 | echo "$test_name: $test_description: ok" | |
63 | touch $test_name.ok | |
64 | else | |
65 | echo "$test_name: $test_description: failed" | |
66 | diff $DIFF_OPTS $EXP $OUT > $test_name.failed | |
67 | rm -f $test_name.tmp | |
68 | fi | |
69 | ||
70 | unset IMAGE FSCK_OPT OUT EXP | |
71 | ||
72 | else #if test -x $DEBUGFS_EXE; then | |
73 | echo "$test_name: $test_description: skipped" | |
74 | fi |