Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#!/bin/rc
2
# funcs - rc functions and definitions common to dump scripts
3
fn backupinit {
4
	if (! ~ $backupinitdone yes) {
5
		disc=1
6
		tracks=0
7
 
8
		# tunable parameters
9
		set=set1
10
		fs=pie
11
		arenas=/dev/sde0/arena0	# on $fs
12
		rdev=/dev/sdE1		# on terminal with bd burner
13
 
14
		blocksize=8192
15
		arenasize=1073741824 # twice the venti default, on yoshimi & pie
16
		# trackbytes=$arenasize
17
		# discbytes=`{ls -l $rdev/data | awk '{print $6}'}
18
		# ntracks=`{ hoc -e 'int('$discbytes/$trackbytes')' }
19
		ntracks=45		# for BD dual-layer
20
 
21
		backupinitdone=yes
22
		backups=/sys/lib/backup
23
		path=(/bin $backups .)
24
	}
25
}
26
 
27
# assume we're in $backups/$set
28
fn updprog {
29
	echo 'disc='$disc 'tracks='$tracks >ndisc && mv ndisc disc
30
}
31
 
32
# assumes $set is set
33
fn dumpdone {		# arena-part arena-name
34
	@ {
35
		cd $backups/$set
36
		progress=yes
37
		tracks = `{hoc -e $tracks+1}
38
		updprog
39
		if (~ $debug yes)
40
			echo $2 >>fake	# pretend these are sealed
41
		echo $2 >>ondisc
42
	}
43
}
44
 
45
fn quitonfailure {	# exit-status
46
	if (! ~ $1 '' 0 '|')
47
		exit $1
48
}
49
 
50
# caller sets arenabase first
51
fn arenastart {		# arena#
52
	bytes =  `{ echo $arenabase' + ('$1' * '$arenasize')' | bc }
53
	blocks = `{ echo $bytes' / '$blocksize | bc }
54
	echo $blocks
55
}
56
 
57
backupinit