From 840b3bf28aa0b38d78a400158d2b865bc22f42f4 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Fri, 29 Apr 2011 12:50:51 +0000 Subject: [PATCH] make /n/other work --- sys/lib/newuser | 6 +++--- sys/src/cmd/cwfs/main.c | 28 +++++++++++++--------------- usr/glenda/lib/profile | 6 +++--- 3 files changed, 19 insertions(+), 21 deletions(-) diff --git a/sys/lib/newuser b/sys/lib/newuser index ac2446b18..38c6072d7 100755 --- a/sys/lib/newuser +++ b/sys/lib/newuser @@ -12,7 +12,7 @@ mkdir bin bin/rc bin/mips bin/386 bin/power bin/arm mkdir lib tmp chmod +t tmp # try to create tmp space on other -9fs other >/dev/null >[2=1] && \ +mount -C /srv/cwfs /n/other other >/dev/null >[2=1] && \ mkdir -m 775 /n/other/usr/$user >/dev/null >[2=1] && \ mkdir -m 750 /n/other/usr/$user/tmp >/dev/null >[2=1] && \ bind -c /n/other/usr/$user/tmp $home/tmp @@ -24,6 +24,8 @@ auth/cron -c cat > lib/profile < lib/plumbing <= 0){ + srvchan(sfd, "stdio"); + sfd = -1; } /* post 9p service */ - snprint(buf, sizeof(buf), "#s/%s", service); - srvfd(buf, 0666, sfd); - close(sfd); - srvchan(rfd, buf); - if(pipe(p) < 0) panic("can't make a pipe"); + snprint(buf, sizeof(buf), "#s/%s", service); + srvfd(buf, 0666, p[0]); + close(p[0]); + srvchan(p[1], buf); /* post cmd service */ + if(pipe(p) < 0) + panic("can't make a pipe"); snprint(buf, sizeof(buf), "#s/%s.cmd", service); srvfd(buf, 0220, p[0]); close(p[0]); @@ -294,8 +294,6 @@ main(int argc, char **argv) machinit(); conf.confdev = "/dev/sdC0/fscache"; - rfd = sfd = -1; - ARGBEGIN{ case 'a': /* announce on this net */ ann = EARGF(usage()); @@ -310,8 +308,8 @@ main(int argc, char **argv) strcpy(service, EARGF(usage())); break; case 's': - sfd = dup(0, -1); - rfd = dup(1, -1); + dup(0, -1); + sfd = dup(1, -1); close(0); if(open("/dev/cons", OREAD) < 0) open("#c/cons", OREAD); diff --git a/usr/glenda/lib/profile b/usr/glenda/lib/profile index 44929e3ab..79aebb7e0 100644 --- a/usr/glenda/lib/profile +++ b/usr/glenda/lib/profile @@ -1,6 +1,8 @@ bind -a $home/bin/rc /bin bind -a $home/bin/$cputype /bin -bind -c tmp /tmp +mount -qC /srv/cwfs /n/other other +bind -qc /n/other/usr/$user/tmp $home/tmp +bind -c $home/tmp /tmp if(! syscall create /tmp/xxx 1 0666 >[2]/dev/null) ramfs # in case we're running off a cd font = /lib/font/bit/pelm/euro.9.font @@ -26,12 +28,10 @@ case cpu bind -a /mnt/term/dev /dev prompt=('cpu% ' ' ') fn cpu%{ $* } - news if (! test -e /mnt/term/mnt/wsys) { # cpu call from drawterm font=/lib/font/bit/pelm/latin1.8.font exec rio } case con prompt=('cpu% ' ' ') - news }