blob: d7d31f626d3c8eb199a79b57113228192426e7a7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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
|