135c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong#!/bin/bash 235c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong 335c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong# Run this test with a specific time, because we're crosslinking an extent tree 435c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong# block with the inode table. When fsck sets dtime to now, we want "now" to be 535c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong# our preprogrammed value. 635c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong 735c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. WongFSCK_OPT=-fy 835c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. WongIMAGE=$test_dir/image.gz 935c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. WongE2FSCK_TIME=4294967294 1035c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wongexport E2FSCK_TIME 1135c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong 1235c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wonggzip -d < $IMAGE > $TMPFILE 1335c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong 1435c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong# Run fsck to fix things? 1535c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. WongEXP1=$test_dir/expect.1 1635c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. WongOUT1=$test_name.1.log 1735c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wongrm -rf $test_name.failed $test_name.ok 1835c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong 1963a801dec75d9a7f9ec2973d6f59ac864d22d8bdDarrick J. Wong$FSCK $FSCK_OPT -N test_filesys $TMPFILE 2>&1 | tail -n +2 > $OUT1 2035c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wongecho "Exit status is $?" >> $OUT1 2135c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong 2235c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong# Run a second time 2335c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. WongEXP2=$test_dir/expect.2 2435c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. WongOUT2=$test_name.2.log 2535c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong 2663a801dec75d9a7f9ec2973d6f59ac864d22d8bdDarrick J. Wong$FSCK $FSCK_OPT -N test_filesys $TMPFILE 2>&1 | tail -n +2 > $OUT2 2735c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wongecho "Exit status is $?" >> $OUT2 2835c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong 2935c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong# Figure out what happened 3035c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wongif cmp -s $EXP1 $OUT1 && cmp -s $EXP2 $OUT2; then 3135c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong echo "$test_name: $test_description: ok" 3235c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong touch $test_name.ok 3335c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wongelse 3435c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong echo "$test_name: $test_description: failed" 3535c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong diff -u $EXP1 $OUT1 >> $test_name.failed 3635c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong diff -u $EXP2 $OUT2 >> $test_name.failed 3735c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wongfi 38