summaryrefslogtreecommitdiff
path: root/sys/lib/backup/backuparenas
diff options
context:
space:
mode:
authorTaru Karttunen <taruti@taruti.net>2011-03-30 16:53:33 +0300
committerTaru Karttunen <taruti@taruti.net>2011-03-30 16:53:33 +0300
commite463eb40363ff4c68b1d903f4e0cdd0ac1c5977f (patch)
treed5e9f57c28f026cb21de3bd77cc10cd7f64aaa85 /sys/lib/backup/backuparenas
parentb41b9034225ab3e49980d9de55c141011b6383b0 (diff)
Import sources from 2011-03-30 iso image - sys/lib
Diffstat (limited to 'sys/lib/backup/backuparenas')
-rwxr-xr-xsys/lib/backup/backuparenas33
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 ''