X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=rc%2Fbin%2F9fs;h=84588e4230237f7d3c6d4a960c2a4f42d805e6db;hb=af95aa431d6e511355a6eb953ab7845f94c0e2d7;hp=796ef79ec10e8e8540638a5a1ae3a1c0aa0bec8b;hpb=609e1466c5736b369e169c37aab094cd61249b8e;p=plan9front.git diff --git a/rc/bin/9fs b/rc/bin/9fs index 796ef79ec..84588e423 100755 --- a/rc/bin/9fs +++ b/rc/bin/9fs @@ -6,46 +6,75 @@ switch($1){ case '' echo usage: 9fs service '[mountpoint]' >[1=2] exit usage -case 9fat - part=`{ls /dev/fs/9fat /dev/sd*/9fat >[2]/dev/null} +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 9fat partition found' >[1=2] - exit no.9fat + echo 'no '$1' partition found' >[1=2] + exit no.$1 } - part=$part(1) if(! test -f /srv/dos) dossrv >/dev/null [2]/dev/null - unmount /n/9fat >/dev/null >[2]/dev/null - mount -c /srv/dos /n/9fat $part - unmount /n/9 >/dev/null >[2]/dev/null - mount -c /srv/dos /n/9 $part -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 + 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 - srv -nq tcp!sources.cs.bell-labs.com sources /n/sources + srv -nqC tcp!9p.io sources /n/sources case sourcesdump 9fs sources - mount -n /srv/sources /n/sourcesdump main/archive + mount -nC /srv/sources /n/sourcesdump main/archive case sourcessnap 9fs sources - mount -n /srv/sources /n/sourcessnap main/snapshot + 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!plan9.bell-labs.com!wiki' wiki /mnt/wiki + srv -m 'net!9p.io!wiki' wiki /mnt/wiki case * switch($#*){ case 1