#!/bin/rc# funcs - rc functions and definitions common to dump scriptsfn backupinit { if (! ~ $backupinitdone yes) { disc=1 tracks=0 # tunable parameters set=set1 fs=pie arenas=/dev/sde0/arena0 # on $fs rdev=/dev/sdE1 # on terminal with bd burner blocksize=8192 arenasize=1073741824 # twice the venti default, on yoshimi & pie # trackbytes=$arenasize # discbytes=`{ls -l $rdev/data | awk '{print $6}'} # ntracks=`{ hoc -e 'int('$discbytes/$trackbytes')' } ntracks=45 # for BD dual-layer backupinitdone=yes backups=/sys/lib/backup path=(/bin $backups .) }} # assume we're in $backups/$setfn updprog { echo 'disc='$disc 'tracks='$tracks >ndisc && mv ndisc disc} # assumes $set is setfn dumpdone { # arena-part arena-name @ { cd $backups/$set progress=yes tracks = `{hoc -e $tracks+1} updprog if (~ $debug yes) echo $2 >>fake # pretend these are sealed echo $2 >>ondisc }} fn quitonfailure { # exit-status if (! ~ $1 '' 0 '|') exit $1} # caller sets arenabase firstfn arenastart { # arena# bytes = `{ echo $arenabase' + ('$1' * '$arenasize')' | bc } blocks = `{ echo $bytes' / '$blocksize | bc } echo $blocks} backupinit
#!/bin/rc
# funcs - rc functions and definitions common to dump scripts
fn backupinit {
if (! ~ $backupinitdone yes) {
disc=1
tracks=0
# tunable parameters
set=set1
fs=pie
arenas=/dev/sde0/arena0 # on $fs
rdev=/dev/sdE1 # on terminal with bd burner
blocksize=8192
arenasize=1073741824 # twice the venti default, on yoshimi & pie
# trackbytes=$arenasize
# discbytes=`{ls -l $rdev/data | awk '{print $6}'}
# ntracks=`{ hoc -e 'int('$discbytes/$trackbytes')' }
ntracks=45 # for BD dual-layer
backupinitdone=yes
backups=/sys/lib/backup
path=(/bin $backups .)
}
}
# assume we're in $backups/$set
fn updprog {
echo 'disc='$disc 'tracks='$tracks >ndisc && mv ndisc disc
}
# assumes $set is set
fn dumpdone { # arena-part arena-name
@ {
cd $backups/$set
progress=yes
tracks = `{hoc -e $tracks+1}
updprog
if (~ $debug yes)
echo $2 >>fake # pretend these are sealed
echo $2 >>ondisc
}
}
fn quitonfailure { # exit-status
if (! ~ $1 '' 0 '|')
exit $1
}
# caller sets arenabase first
fn arenastart { # arena#
bytes = `{ echo $arenabase' + ('$1' * '$arenasize')' | bc }
blocks = `{ echo $bytes' / '$blocksize | bc }
echo $blocks
}
backupinit