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/backuparenas | |
parent | b41b9034225ab3e49980d9de55c141011b6383b0 (diff) |
Import sources from 2011-03-30 iso image - sys/lib
Diffstat (limited to 'sys/lib/backup/backuparenas')
-rwxr-xr-x | sys/lib/backup/backuparenas | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/sys/lib/backup/backuparenas b/sys/lib/backup/backuparenas new file mode 100755 index 000000000..6ec304362 --- /dev/null +++ b/sys/lib/backup/backuparenas @@ -0,0 +1,33 @@ +#!/bin/rc +# backuparenas dev name ... - dump arena `name' from $fs to blu-ray disc. +# assumes $set is set. +rfork ne +# tunable variables +fs=pie + +if (test -e /sys/lib/backup/funcs) + . /sys/lib/backup/funcs + +exits='' +fsroot=/n/$fs +if (! test -e $fsroot/!THIS_IS_^`{echo $fs | tr a-z A-Z}^_MAIN) { + import $fs / $fsroot || exit +} +unmount /mnt/cd >[2]/dev/null +cdfs -d $1 || exit +shift + +cd $fsroot/dev/fs +for (name) { + grep next /mnt/cd/ctl + if (! {venti/rdarena arena0 $name | + pump -i 65536 -o 1048576 -k 51200 -d 10 >/mnt/cd/wd/$name}) + exit +# ls -l /mnt/cd + if (test -e '/env/fn#dumpdone' -a -e '/env/set') + dumpdone arena0 $name +} +echo 'remember to *not* remove /mnt/cd/wd' >[1=2] +# don't remove /mnt/cd/wd, since that would finalize the disc +# and bugger the permanent toc, at least on bd-r. +exit '' |