#!/bin/rc # 9fs filesystem [mountpoint] - srv & mount filesystem, usually from plan 9 rfork e nflag=-n if(~ $1 -a){ shift nflag=() } switch($1){ case '' echo usage: 9fs service '[mountpoint]' >[1=2] exit usage case kfs if(! test -f /srv/kfs) disk/kfs mount -c /srv/kfs /n/kfs case dump mount /srv/boot /n/dump dump >[2]/dev/null || mount /srv/boot /n/dump main/archive || mount /srv/boot /n/dump dump # again to print error case snap mount /srv/boot /n/snap main/snapshot case other mount -C /srv/boot /n/other other case juke # ye olde file server srv -q il!jukefs && mount /srv/il!jukefs /n/juke case sources srv $nflag -q tcp!sources.cs.bell-labs.com sources /n/sources case sourcesdump 9fs sources mount $nflag /srv/sources /n/sourcesdump main/archive case sourcessnap 9fs sources mount $nflag /srv/sources /n/sourcessnap main/snapshot # 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!plan9.bell-labs.com!wiki' wiki /mnt/wiki case cwiki srv -m 'net!wiki.coraid.com!wiki' wiki /mnt/wiki case coraid import -E ssl minooka.coraid.com / /n/coraid bind -q /n/coraid/n/other/quanstro /n/other/quanstro # if(! ~ $sysname ladd && ! test -f /net.alt/arp) # import -p ladd /net.alt /net.alt # import -p -E ssl /net.alt/tcp!minooka.coraid.com / /n/coraid case quanstro mount /srv/boot /n/quanstro case quanstrodump mount /srv/boot /n/quanstrodump dump case leffe import -E ssl leffe.cs.bell-labs.com / /n/leffe case nix srv -m sources.lsub.org nix.$user && mount /srv/nix.$user /n/nix && bind /n/nix/nix /n/nix case nixpatch srv -m patches.lsub.org nixpatch.$user && mount /srv/nixpatch.$user /n/nixpatch case atta import -E ssl atom.9atom.org / /n/atta case atom # import -E ssl atom.9atom.org /n/atom /n/atom srv $nflag -q tcp!atom.9atom.org atom && mount $nflag /srv/atom /n/atom atom case atomdump # mount $nflag 9fs atom && mount /srv/atom /n/atomdump atomdump case * switch($#*){ case 1 srv -m $1 case * srv -m $1 $1 $2 } }