|  | if test -x $DEBUGFS_EXE; then | 
|  |  | 
|  | FSCK_OPT=-fy | 
|  | OUT=$test_name.log | 
|  | if [ -f $test_dir/expect.gz ]; then | 
|  | EXP=$test_name.tmp | 
|  | gunzip < $test_dir/expect.gz > $EXP1 | 
|  | else | 
|  | EXP=$test_dir/expect | 
|  | fi | 
|  |  | 
|  | cp /dev/null $OUT | 
|  |  | 
|  | $MKE2FS -F -o Linux -b 4096 -O has_journal -T ext4 $TMPFILE 65536 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT 2>&1 | 
|  |  | 
|  | $FSCK -fy -N test_filesys $TMPFILE > $OUT.new 2>&1 | 
|  | status=$? | 
|  | echo Exit status is $status >> $OUT.new | 
|  | sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT | 
|  | rm -f $OUT.new | 
|  |  | 
|  | bitmaps="$($DUMPE2FS $TMPFILE 2>&1 | grep 'bitmap at' | sed -e 's/^.*bitmap at \([0-9]*\).*$/\1/g' | tr '\n' ',')" | 
|  |  | 
|  | echo "debugfs write journal" >> $OUT | 
|  | echo "jo" > $TMPFILE.cmd | 
|  | echo "jw -b 333,$bitmaps /dev/zero" >> $TMPFILE.cmd | 
|  | echo "jc" >> $TMPFILE.cmd | 
|  | echo "jo" >> $TMPFILE.cmd | 
|  | echo "jw -r 333" >> $TMPFILE.cmd | 
|  | echo "jc" >> $TMPFILE.cmd | 
|  | $DEBUGFS_EXE -w -f $TMPFILE.cmd $TMPFILE 2>> $OUT.new > /dev/null | 
|  | sed -f $cmd_dir/filter.sed < $OUT.new >> $OUT | 
|  | rm -rf $OUT.new | 
|  |  | 
|  | test -d "$JOURNAL_DUMP_DIR" -a -w "$JOURNAL_DUMP_DIR" && cp "$TMPFILE" "$JOURNAL_DUMP_DIR/$test_name.img" | 
|  | echo "logdump -c" > $TMPFILE.cmd | 
|  | $DEBUGFS_EXE -f $TMPFILE.cmd $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT | 
|  | rm -rf $TMPFILE.cmd | 
|  |  | 
|  | echo "debugfs recover journal" >> $OUT | 
|  | echo "jr" > $TMPFILE.cmd | 
|  | $DEBUGFS_EXE -w -f $TMPFILE.cmd $TMPFILE 2>> $OUT.new > /dev/null | 
|  | sed -f $cmd_dir/filter.sed < $OUT.new >> $OUT | 
|  | rm -rf $OUT.new | 
|  |  | 
|  | $FSCK -fy -N test_filesys $TMPFILE > $OUT.new 2>&1 | 
|  | status=$? | 
|  | echo Exit status is $status >> $OUT.new | 
|  | sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT | 
|  | rm -f $OUT.new | 
|  |  | 
|  | rm -f $TMPFILE $TMPFILE.cmd | 
|  |  | 
|  | cmp -s $OUT $EXP | 
|  | status=$? | 
|  |  | 
|  | if [ "$status" = 0 ] ; then | 
|  | echo "$test_name: $test_description: ok" | 
|  | touch $test_name.ok | 
|  | else | 
|  | echo "$test_name: $test_description: failed" | 
|  | diff $DIFF_OPTS $EXP $OUT > $test_name.failed | 
|  | rm -f $test_name.tmp | 
|  | fi | 
|  |  | 
|  | unset IMAGE FSCK_OPT OUT EXP | 
|  |  | 
|  | else #if test -x $DEBUGFS_EXE; then | 
|  | echo "$test_name: $test_description: skipped" | 
|  | fi |