Home | History | Annotate | Download | only in u_undo_undo
      1 test_description="undo e2undo"
      2 if test -x $E2UNDO_EXE; then
      3 
      4 TDB_FILE=${TMPDIR:-/tmp}/e2fsck-$(basename $TMPFILE).e2undo
      5 TDB_FILE2=${TMPDIR:-/tmp}/e2undo-$(basename $TMPFILE).e2undo
      6 OUT=$test_name.log
      7 rm -f $TDB_FILE $TDB_FILE2 >/dev/null 2>&1
      8 
      9 dd if=/dev/zero of=$TMPFILE bs=1k count=512 > /dev/null 2>&1
     10 
     11 echo mke2fs -q -F -o Linux -T ext4 -O ^metadata_csum,64bit -E lazy_itable_init=1 -b 1024 $TMPFILE  > $OUT
     12 $MKE2FS -q -F -o Linux -T ext4 -O ^metadata_csum,64bit -E lazy_itable_init=1 -b 1024 $TMPFILE  >> $OUT 2>&1
     13 crc0=`$CRCSUM $TMPFILE`
     14 echo $CRCSUM before e2fsck $crc0 >> $OUT
     15 
     16 echo using e2fsck to test e2undo >> $OUT
     17 $FSCK -f -y -D -z $TDB_FILE $TMPFILE >> $OUT 2>&1
     18 crc1=`$CRCSUM $TMPFILE`
     19 echo $CRCSUM after e2fsck $crc1 >> $OUT
     20 
     21 echo e2undo the e2fsck >> $OUT
     22 $E2UNDO -z $TDB_FILE2 $TDB_FILE $TMPFILE  >> $OUT 2>&1
     23 crc2=`$CRCSUM $TMPFILE`
     24 echo $CRCSUM after e2undo $crc2 >> $OUT
     25 
     26 echo e2undo the e2undo >> $OUT
     27 $E2UNDO $TDB_FILE2 $TMPFILE  >> $OUT 2>&1
     28 crc3=`$CRCSUM $TMPFILE`
     29 echo $CRCSUM after e2undo $crc3 >> $OUT
     30 
     31 echo e2undo the e2undo the e2undo >> $OUT
     32 $E2UNDO $TDB_FILE $TMPFILE  >> $OUT 2>&1
     33 crc4=`$CRCSUM $TMPFILE`
     34 echo $CRCSUM after e2undo $crc4 >> $OUT
     35 
     36 $E2UNDO -h $TDB_FILE $TMPFILE >> $OUT 2>&1
     37 $E2UNDO -h $TDB_FILE2 $TMPFILE >> $OUT 2>&1
     38 
     39 $E2UNDO -z $TDB_FILE2 $TDB_FILE2 $TMPFILE >> $OUT 2>&1
     40 
     41 crc5=`$CRCSUM $TMPFILE`
     42 echo $CRCSUM after failed e2undo $crc5 >> $OUT
     43 
     44 echo $crc0 $crc1 $crc2 $crc3 $crc4 $crc5 >> $OUT
     45 
     46 if [ $crc0 = $crc2 ] && [ $crc2 = $crc4 ] && [ $crc5 = $crc4 ] && [ $crc1 = $crc3 ] && [ $crc1 != $crc2 ]; then
     47 	echo "$test_name: $test_description: ok"
     48 	touch $test_name.ok
     49 else
     50 	ln -f $test_name.log $test_name.failed
     51 	echo "$test_name: $test_description: failed"
     52 fi
     53 rm -f $TDB_FILE $TDB_FILE2 $TMPFILE
     54 fi
     55