#!/usr/local/plan9/bin/rc

vtmp=/home/tmp
venti=tcp!127.1!17034
url=127.1:8901

fn reformat {
	if(! test -f $vtmp/arena)
		dd bs'='1048576 count'='100 if'='/dev/zero of'='$vtmp/arena
	if(! test -f $vtmp/bloom)
		dd bs'='1048576 count'='128 if'='/dev/zero of'='$vtmp/bloom
	if(! test -f $vtmp/isect)
		dd bs'='1048576 count'='10 if'='/dev/zero of'='$vtmp/isect
	if(! test -f $vtmp/check)
		dd bs'='1048576 count'='20 if'='/dev/zero of'='$vtmp/check

	echo '
		index main
		isect '$vtmp'/isect
		arenas '$vtmp'/arena
		bloom '$vtmp'/bloom
		webroot '$PLAN9'/src/cmd/venti/srv/www
		mem 64M
		icmem 64M
		bcmem 64M
		queuewrites
		addr tcp!*!17034
		httpaddr tcp!*!8901
	' >$vtmp/vtmp.conf

	./o.fmtarenas -a 40M -b 8k arenas $vtmp/arena
	./o.fmtbloom $vtmp/bloom
	./o.fmtisect -b 8k isect $vtmp/isect
	./o.fmtindex $vtmp/vtmp.conf
}

fn venti {
	./o.venti -c $vtmp/vtmp.conf >$vtmp/venti.log >[2=1]
}

fn killventi {
	killall -9 o.venti
}

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
	9 time vac $PLAN9/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
