xref: /plan9-contrib/rc/bin/9fs (revision 3f2112ccacb864cea00ab9f63d01d832d7b7a7ad)
1#!/bin/rc
2# 9fs filesystem [mountpoint] - srv & mount filesystem, usually from plan 9
3
4rfork e
5switch($1){
6case ''
7	echo usage: 9fs service '[mountpoint]' >[1=2]
8	exit usage
9case kfs
10	if(! test -f /srv/kfs)
11		disk/kfs
12	mount -c /srv/kfs /n/kfs
13case dump
14	mount /srv/boot /n/dump dump >[2]/dev/null ||
15		mount /srv/boot /n/dump main/archive ||
16		mount /srv/boot /n/dump dump	# again to print error
17case snap
18	mount /srv/boot /n/snap main/snapshot
19case other
20	mount -C /srv/boot /n/other other
21case juke					# ye olde file server
22	srv -q il!jukefs && mount /srv/il!jukefs /n/juke
23case sources
24	srv -nq tcp!9p.io sources /n/sources
25case sourcesdump
26	9fs sources
27	mount -n /srv/sources /n/sourcesdump main/archive
28case sourcessnap
29	9fs sources
30	mount -n /srv/sources /n/sourcessnap main/snapshot
31# arbitrary venti archives
32case vac:*
33	vacfs <{echo $1}
34case *.vac
35	if (test -e $1)
36		score=$1
37	if not if (! ~ $1 /* && test -e $home/lib/vac/$1)
38		score=$home/lib/vac/$1
39	if not if (! ~ $1 /* && test -e /lib/vac/$1)
40		score=/lib/vac/$1
41	if not {
42		echo $0: $1: no such score file >[1=2]
43		exit 'no score file'
44	}
45	vacfs -m /n/`{basename $1 .vac} `{cat $score}
46case wiki
47	srv -m 'net!9p.io!wiki' wiki /mnt/wiki
48case *
49	switch($#*){
50	case 1
51		srv -m $1
52	case *
53		srv -m $1 $1 $2
54	}
55}
56