7 post9pservice(int fd, char *name, char *mtpt)
13 if(name == nil && mtpt == nil){
15 werrstr("nothing to do");
20 if(strchr(name, '!')) /* assume is already network address */
23 if((ns = getns()) == nil)
25 addr = smprint("unix!%s/%s", ns, name);
38 execlp("9pserve", "9pserve", "-u", addr, (char*)0);
39 fprint(2, "exec 9pserve: %r\n");
46 if(w->msg && w->msg[0]){
48 werrstr("9pserve failed");
54 if((fd = dial(addr, nil, nil, nil)) < 0){
55 werrstr("cannot reopen for mount: %r");
62 switch(pid = rfork(RFFDG|RFPROC|RFNOWAIT)){
70 /* Try v9fs on Linux, which will mount 9P directly. */
71 execlp("mount9p", "mount9p", "-", mtpt, (char*)0);
74 execlp("9pfuse", "9pfuse", "-D", "-", mtpt, (char*)0);
76 execlp("9pfuse", "9pfuse", "-", mtpt, (char*)0);
77 fprint(2, "exec 9pfuse: %r\n");