#!/bin/rc

vtmp=/usr/wb/tmp
venti=tcp!127.1!17134
url=tcp!127.1!8901

fn reformat {
	if(! test -f $vtmp/arena)
		dd -bs 1048576 -count 100 -if /dev/zero -of $vtmp/arena

	venti/fmtarenas -a 4M -b 8k arenas $vtmp/arena
}

fn venti {
	./6.mventi -a $venti -h $url $vtmp/arena >$vtmp/venti.log >[2=1]
}

fn killventi {
	killall -9 o.mventi
}

fn die {
	echo $*
	# no killventi - leave for debugging
	echo '(leaving venti running)'
	exit 1
}

fn testdcachesync {
	echo '>>>' testdcachesync...
	echo '*' reformat
	reformat
	echo '*' venti
	venti
	sleep 2
	echo '*' vac
	time vac /sys/src/cmd/venti >$vtmp/a.vac
	echo '*' flushdcache
	hget http://$url/flushdcache
	echo '*' kill venti
	killventi
	echo '*' venti
	venti
	sleep 2
	echo '*' read
	if(venti/read `{cat $vtmp/a.vac} >/dev/null >[2=1])
		echo worked
	if not
		die 'could not find block!'
}

testdcachesync
killventi
