Blob
1 #include <u.h>2 #include <libc.h>3 #include <fcall.h>4 #include <fs.h>5 #include <ctype.h>7 Fsys*8 nsmount(char *name, char *aname)9 {10 char *addr, *ns;11 int fd;12 Fsys *fs;14 ns = getns();15 if(ns == nil)16 return nil;18 addr = smprint("unix!%s/%s", ns, name);19 free(ns);20 if(addr == nil)21 return nil;23 fd = dial(addr, 0, 0, 0);24 if(fd < 0){25 werrstr("dial %s: %r", addr);26 return nil;27 }28 fcntl(fd, F_SETFL, FD_CLOEXEC);30 fs = fsmount(fd, aname);31 if(fs == nil){32 close(fd);33 return nil;34 }36 return fs;37 }