aboutsummaryrefslogtreecommitdiff
path: root/src/lib9pclient/ns.c
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2005-02-11 17:00:46 +0000
committerrsc <devnull@localhost>2005-02-11 17:00:46 +0000
commit59518849d81a71284b90513f6ba76770b42ce32b (patch)
treed92a7eb8d47b48bd06bfb650bd4cefaa33be0b62 /src/lib9pclient/ns.c
parent2aa7d3036738bc548cfe6d8d83ff45cb1cb9c8c7 (diff)
downloadplan9port-59518849d81a71284b90513f6ba76770b42ce32b.tar.gz
plan9port-59518849d81a71284b90513f6ba76770b42ce32b.tar.bz2
plan9port-59518849d81a71284b90513f6ba76770b42ce32b.zip
add _fsunmount; do version in fsinit; add nsinit; add chatty9pclient
Diffstat (limited to 'src/lib9pclient/ns.c')
-rw-r--r--src/lib9pclient/ns.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/src/lib9pclient/ns.c b/src/lib9pclient/ns.c
index 428f7fbb..c71defd6 100644
--- a/src/lib9pclient/ns.c
+++ b/src/lib9pclient/ns.c
@@ -5,11 +5,10 @@
#include <ctype.h>
CFsys*
-nsmount(char *name, char *aname)
+nsinit(char *name)
{
char *addr, *ns;
int fd;
- CFsys *fs;
ns = getns();
if(ns == nil)
@@ -29,13 +28,23 @@ nsmount(char *name, char *aname)
free(addr);
fcntl(fd, F_SETFL, FD_CLOEXEC);
+ return fsinit(fd);
+}
+
+CFsys*
+nsmount(char *name, char *aname)
+{
+ CFsys *fs;
+ CFid *fid;
- fs = fsmount(fd, aname);
- if(fs == nil){
- close(fd);
+ fs = nsinit(name);
+ if(fs == nil)
+ return nil;
+ if((fid = fsattach(fs, nil, getuser(), aname)) == nil){
+ _fsunmount(fs);
return nil;
}
-
+ fssetroot(fs, fid);
return fs;
}