blob: a4a4fc084d8fd505cc1d5b14fc347b490979d39b (
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
#!/bin/rc
# 9fs filesystem [mountpoint] - srv & mount filesystem, usually from plan 9
rfork e
switch($1){
case ''
echo usage: 9fs service '[mountpoint]' >[1=2]
exit usage
case 9fat esp pidos dos
if(~ $#2 1)
part=`{ls $2 >[2]/dev/null}
if not if(~ $1 pidos)
part=`{ls /dev/sdM*/dos >[2]/dev/null}
if not
part=`{ls /dev/fs/$1 /dev/sd*/$1 >[2]/dev/null}
if(~ $#part 0) {
echo 'no '$1' partition found' >[1=2]
exit no.$1
}
part=$part(1)
if(! test -f /srv/dos)
dossrv >/dev/null </dev/null >[2]/dev/null
unmount /n/$1 >/dev/null >[2]/dev/null
mount -c /srv/dos /n/$1 $part
if(~ $1 9fat){
unmount /n/9 >/dev/null >[2]/dev/null
mount -c /srv/dos /n/9 $part
}
case dump other
mount -C /srv/boot /n/$1 $1
case sources
bind -c $home/sources /n/sources
case rsources
srv -nqC tcp!sources.cs.bell-labs.com sources /n/sources
case sourcesdump
9fs sources
mount -nC /srv/sources /n/sourcesdump main/archive
case sourcessnap
9fs sources
mount -nC /srv/sources /n/sourcessnap main/snapshot
case atom
srv -nq tcp!atom.9atom.org atom && mount -nC /srv/atom /n/atom atom
case atomdump
9fs atom && mount -nC /srv/atom /n/atomdump atomdump
case 9pio
srv -nq tcp!9p.io 9pio && mount -nC /srv/9pio /n/9pio
case 9front
9fs 9front.org
for(i in 9front extra fqa hardware iso lists pkg sites)
bind /n/9front.org/$i /n/$i
case 9bugs
9fs contrib.9front.org
bind /n/contrib.9front.org/bugs /n/bugs
case 9contrib
9fs contrib.9front.org
for(i in contrib sources)
bind /n/contrib.9front.org/$i /n/$i
case 9grep
9fs tcp!9front.org!7734
bind -b /n/9front.org!7734 /n/lists
# arbitrary venti archives
case vac:*
vacfs <{echo $1}
case *.vac
if (test -e $1)
score=$1
if not if (! ~ $1 /* && test -e $home/lib/vac/$1)
score=$home/lib/vac/$1
if not if (! ~ $1 /* && test -e /lib/vac/$1)
score=/lib/vac/$1
if not {
echo $0: $1: no such score file >[1=2]
exit 'no score file'
}
vacfs -m /n/`{basename $1 .vac} `{cat $score}
case wiki
srv -m 'net!9p.io!wiki' wiki /mnt/wiki
case *
switch($#*){
case 1
srv -m $1
case *
srv -m $1 $1 $2
}
}
|