X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=rc%2Fbin%2Finst%2Fmountcwfs;h=3a917b7bc46257498000ff49934fe916a6e76898;hb=e27c2203ef8f4801c7515a5eef08327a2e85d946;hp=615a0125356f3e3b13fc179e23101bdc36a70290;hpb=40dab914b7b92e75dd6297ab31c86bea033e8fa9;p=plan9front.git diff --git a/rc/bin/inst/mountcwfs b/rc/bin/inst/mountcwfs old mode 100644 new mode 100755 index 615a01253..3a917b7bc --- a/rc/bin/inst/mountcwfs +++ b/rc/bin/inst/mountcwfs @@ -1,6 +1,9 @@ #!/bin/rc # desc: choose and mount file system partition +# prereq: systype + +service=cwfs switch($1){ case go @@ -9,7 +12,8 @@ case go echo files=(`{ls /dev/sd*/fscache* /dev/fs/fscache* >[2]/dev/null}) - ls -l $files + if(! ~ $#files 0) + ls -l $files echo if(~ $#files 1) default=(-d $files) @@ -20,7 +24,8 @@ case go export fs files=(`{ls /dev/sd*/fsworm* /dev/fs/fsworm* >[2]/dev/null}) - ls -l $files + if(! ~ $#files 0) + ls -l $files echo if(~ $#files 1) default=(-d $files) @@ -31,7 +36,8 @@ case go export fsworm files=(`{ls /dev/sd*/other* /dev/fs/other* >[2]/dev/null}) - ls -l $files + if(! ~ $#files 0) + ls -l $files echo if(~ $#files 1) default=(-d $files) @@ -41,71 +47,92 @@ case go fsother=$rd export fsother - if(! test -f /tmp/fsconfig){ - { - echo service cwfs - echo config $fs - - # new config option - echo noauth - - echo filsys main c'('$fs')('$fsworm')' - echo filsys dump o - if(! ~ $fsother ''){ - echo filsys other '('$fsother')' - echo ream other - } - echo ream main - echo end - } >/tmp/fsconfig - } + ream=no + if(! ~ $fstype `{fstype $fs}) + ream=yes + prompt -d $ream 'Ream the filesystem?' yes no + ream=$rd log Starting $fstype file server for $fs unmount /n/newfs >[2]/dev/null - echo halt >>/srv/cwfs.cmd >[2]/dev/null - rm -f /srv/cwfs /srv/cwfs.cmd - if(! $fstype -c -C -f $fs >/srv/$service.cmd >[2]/dev/null + rm -f /srv/$service /srv/$service.cmd + + if(~ $ream yes){ + if(! test -f /tmp/fsconfig){ + { + echo service $service + echo config $fs + + if(! ~ $syst cpu){ + # new config option + echo noauth + } + + echo filsys main c'('$fs')('$fsworm')' + echo filsys dump o + if(! ~ $fsother ''){ + echo filsys other '('$fsother')' + echo ream other + } + echo ream main + echo end + } >/tmp/fsconfig + } + echo 'Reaming filesystem' + if(! $fstype -f $fs -c >/srv/cwfs.cmd + echo newuser sys +$user + echo newuser upas +$user + if(! ~ $fsother ''){ + echo cfs other + echo create /dist sys sys 775 d + echo create /usr sys sys 775 d + echo create /usr/$user $user $user 775 d + echo create /usr/$user/tmp $user $user 750 d + echo cfs main + } + echo noattach + sleep 2 + } >>/srv/$service.cmd log Mounting $fstype file server for $fs - if(! logprog mount -c /srv/cwfs /n/newfs){ - mountfs=ready - export mountfs - exit + while(! logprog mount -c /srv/$service /n/newfs) + sleep 2 + if(! ~ $fsother ''){ + log Mounting $fstype file server for $fsother + if(logprog mount -c /srv/$service /n/other other) + bind -qc /n/other/dist /n/newfs/dist } case checkready checkdone if(! ~ $fstype '' && ~ $#fs 1 && test -f $fs){ - if(! test -f /srv/cwfs){ - logprog $fstype -C -f $fs - echo allow >>/srv/cwfs.cmd >>[2]/srv/log - } - if(test -f /srv/cwfs && ! test -f /n/newfs/adm/users){ - log Mounting $fstype file server for $fs - if(! logprog mount -c /srv/cwfs /n/newfs){ - mountfs=ready - export mountfs - exit - } - } - if(test -f /srv/cwfs && test -f /n/newfs/adm/users){ + if(test -f /srv/$service && test -d /n/newfs/dist){ mountfs=done export mountfs exit