if ! test -x $DEBUGFS_EXE; then
	echo "$test_name: $test_description: skipped (no debugfs)"
	return 0
fi

OUT=$test_name.log
TIMESTAMPS=$test_name.timestamps.log
EXP=$test_dir/expect
FSCK_OPT=-yf

create_file_with_xtime_and_extra() {
	name=$1
	time=$2
	extra=$3
	{
		echo "write /dev/null $name"
		for xtime in atime ctime mtime crtime; do
			echo "set_inode_field $name $xtime @$time"
			echo "set_inode_field $name ${xtime}_extra $extra"
		done
	} | $DEBUGFS -w $TMPFILE >> $OUT 2>&1
}

get_file_xtime_and_extra() {
	name=$1
	echo "times for $name =" >> $TIMESTAMPS
	$DEBUGFS -R "stat $name" $TMPFILE 2>&1 | egrep '^( a| c| m|cr)time:' |
		sed 's/ --.*//' >> $TIMESTAMPS
}

rm -f $OUT $TIMESTAMPS

# create an empty ext4 filesystem with 256-byte inodes for testing
> $TMPFILE
echo mkfs.ext4 -b 1024 -q -I 256 $TMPFILE 5000 >> $OUT
$MKE2FS -t ext4 -b 1024 -q -I 256 -F $TMPFILE 5000 >> $OUT 2>&1

# this is a pre-1970 file encoded with the old encoding.
# fsck should repair this
create_file_with_xtime_and_extra year-1909 -1907928000 3

# these are all already encoded correctly
create_file_with_xtime_and_extra year-1979   299592000 0
create_file_with_xtime_and_extra year-2039  2191752000 1
create_file_with_xtime_and_extra year-2139  5345352000 1

# confirm that the xtime is wrong on the pre-1970 file
get_file_xtime_and_extra year-1909

# and confirm that it is right on the remaining files
get_file_xtime_and_extra year-1979
get_file_xtime_and_extra year-2039
get_file_xtime_and_extra year-2139

# before we repair the filesystem, save off a copy so that
# we can use it later

cp -a $TMPFILE $TMPFILE.sav

# repair the filesystem
E2FSCK_TIME=1386393539 $FSCK $FSCK_OPT $TMPFILE >> $OUT 2>&1

# check that the dates and xtime_extra on the file is now correct
get_file_xtime_and_extra year-1909

# check that the remaining dates have not been altered
get_file_xtime_and_extra year-1979
get_file_xtime_and_extra year-2039
get_file_xtime_and_extra year-2139

if test $SIZEOF_TIME_T -gt 4
then
  # now we need to check that after the year 2242, e2fsck does not
  # modify dates with extra_xtime=3

  # restore the unrepaired filesystem
  mv $TMPFILE.sav $TMPFILE

  #retry the repair
  E2FSCK_TIME=9270393539 $FSCK $FSCK_OPT $TMPFILE >> $OUT 2>&1

  # check that the 1909 file is unaltered (i.e. it has a post-2378 date)
  get_file_xtime_and_extra year-1909
else
  rm -f TMPFILE.sav
cat << EOF >> $TIMESTAMPS
times for year-1909 =
 ctime: 0x8e475440:00000003
 atime: 0x8e475440:00000003
 mtime: 0x8e475440:00000003
crtime: 0x8e475440:00000003
EOF
fi

cmp -s $TIMESTAMPS $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 $TIMESTAMPS > $test_name.failed
fi

unset OUT TIMESTAMPS EXP FSCK_OPT
