diff options
author | rsc <devnull@localhost> | 2005-02-11 17:00:46 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2005-02-11 17:00:46 +0000 |
commit | 59518849d81a71284b90513f6ba76770b42ce32b (patch) | |
tree | d92a7eb8d47b48bd06bfb650bd4cefaa33be0b62 /src/lib9pclient/ns.c | |
parent | 2aa7d3036738bc548cfe6d8d83ff45cb1cb9c8c7 (diff) | |
download | plan9port-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.c | 21 |
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; } |