shithub: riscv

Download patch

ref: 840b3bf28aa0b38d78a400158d2b865bc22f42f4
parent: eb7a73034c0636af0a32d0293d6ee2f65dad940f
author: cinap_lenrek <cinap_lenrek@localhost>
date: Fri Apr 29 08:50:51 EDT 2011

make /n/other work

--- a/sys/lib/newuser
+++ b/sys/lib/newuser
@@ -12,7 +12,7 @@
 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 @@
 cat > lib/profile <<!
 bind -a $x^home/bin/rc /bin
 bind -a $x^home/bin/$x^cputype /bin
+mount -qC /srv/cwfs /n/other other
+bind -qc /n/other/usr/$x^user/tmp $x^home/tmp
 bind -c $x^home/tmp /tmp
 font = /lib/font/bit/pelm/euro.9.font
 switch($x^service){
@@ -48,7 +50,6 @@
 	prompt=('cpu% ' '	')
 	fn cpu%{ $x^* }
 	startupasfs
-	news
 	if (! test -e /mnt/term/mnt/wsys) {
 		# cpu call from drawterm
 		font=/lib/font/bit/pelm/latin1.8.font
@@ -59,7 +60,6 @@
 case con
 	prompt=('cpu% ' '	')
 	startupasfs
-	news
 }
 !
 cat > lib/plumbing <<!
--- a/sys/src/cmd/cwfs/main.c
+++ b/sys/src/cmd/cwfs/main.c
@@ -7,9 +7,9 @@
 
 Map *devmap;
 
-int sfd, rfd;
 Biobuf bin;
 int chatty = 0;
+int sfd = -1;
 
 void
 machinit(void)
@@ -177,23 +177,23 @@
 	if(service[0] == 0)
 		panic("no service name");
 
-	if(sfd < 0){
-		if(pipe(p) < 0)
-			panic("can't make a pipe");
-		sfd = p[0];
-		rfd = p[1];
+	/* serve 9p for -s */
+	if(sfd >= 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 @@
 	machinit();
 	conf.confdev = "/dev/sdC0/fscache";
 
-	rfd = sfd = -1;
-
 	ARGBEGIN{
 	case 'a':			/* announce on this net */
 		ann = EARGF(usage());
@@ -310,8 +308,8 @@
 		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);
--- 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,7 +28,6 @@
 	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
@@ -33,5 +34,4 @@
 	}
 case con
 	prompt=('cpu% ' '	')
-	news
 }