diff options
author | Taru Karttunen <taruti@taruti.net> | 2011-03-30 16:53:33 +0300 |
---|---|---|
committer | Taru Karttunen <taruti@taruti.net> | 2011-03-30 16:53:33 +0300 |
commit | e463eb40363ff4c68b1d903f4e0cdd0ac1c5977f (patch) | |
tree | d5e9f57c28f026cb21de3bd77cc10cd7f64aaa85 /sys/lib/backup/funcs | |
parent | b41b9034225ab3e49980d9de55c141011b6383b0 (diff) |
Import sources from 2011-03-30 iso image - sys/lib
Diffstat (limited to 'sys/lib/backup/funcs')
-rwxr-xr-x | sys/lib/backup/funcs | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/sys/lib/backup/funcs b/sys/lib/backup/funcs new file mode 100755 index 000000000..d7d31f626 --- /dev/null +++ b/sys/lib/backup/funcs @@ -0,0 +1,57 @@ +#!/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 |