1#!/bin/rc 2# tobackup [set] - print names of venti arenas needing to be dumped to disc set 3rfork e 4 5cd /sys/lib/backup 6. funcs 7 8switch ($#*) { 9case 0 10case 1 11 set=$1 12case * 13 echo usage: $0 '[set]' >[1=2] 14 exit usage 15} 16 17if (! test -d $set) { 18 echo $0: no backup set named $set in $backup >[1=2] 19 exit 'no backup set' 20} 21if (! hget -o index http://$fs/index) { 22 echo $0: 'can''t fetch venti index from' $fs >[1=2] 23 exit 'no venti index' 24} 25if (! test -s index) { 26 echo $0: 'empty venti index from' $fs >[1=2] 27 exit 'empty index' 28} 29 30cd $set 31awk '/^arena=/ { name=$1 } 32 / disk=sealed/ { print name; name = "" } 33 ' ../index | sed 's/^arena=//' >nsealed 34>>sealed 35if (! cmp -s sealed nsealed) 36 cp nsealed sealed 37rm -f nsealed 38if (! test -s sealed) 39 exit '' 40 41>>fake 42if (test -s ondisc) 43 comm -23 <{sort -u sealed fake} <{sort -u ondisc} 44if not { # first sealed arenas, dump all 45 cat sealed 46 chmod +a ondisc >>ondisc 47} 48