diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2016-12-22 01:56:19 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2016-12-22 01:56:19 +0100 |
commit | 1ebcdca4ba208953fc8035c001b980eb7b51228b (patch) | |
tree | 26017842bf226ef2290edb5630a3da0bd483b28a /sys/src/libauth | |
parent | cd15849bf2359dbd7868dcfd4f85c7da6d46f396 (diff) |
libauth: don't attempt to mount when opening mount srv file fails in nsop()
making newnsdebug error messages more usefull...
Diffstat (limited to 'sys/src/libauth')
-rw-r--r-- | sys/src/libauth/newns.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/sys/src/libauth/newns.c b/sys/src/libauth/newns.c index 21ac2a7c3..172692cc2 100644 --- a/sys/src/libauth/newns.c +++ b/sys/src/libauth/newns.c @@ -152,7 +152,7 @@ nsop(char *fn, int argc, char *argv[], AuthRpc *rpc) cdroot = 0; flags = 0; argv0 = 0; - if (newnsdebug){ + if(newnsdebug){ for (i = 0; i < argc; i++) fprint(2, "%s ", argv[i]); fprint(2, "\n"); @@ -181,9 +181,9 @@ nsop(char *fn, int argc, char *argv[], AuthRpc *rpc) return 0; cdroot |= nsfile(fn, b, rpc); Bterm(b); - }else if(strcmp(argv0, "clear") == 0 && argc == 0) + }else if(strcmp(argv0, "clear") == 0 && argc == 0){ rfork(RFCNAMEG); - else if(strcmp(argv0, "bind") == 0 && argc == 2){ + }else if(strcmp(argv0, "bind") == 0 && argc == 2){ if(bind(argv[0], argv[1], flags) < 0 && newnsdebug) fprint(2, "%s: bind: %s %s: %r\n", fn, argv[0], argv[1]); }else if(strcmp(argv0, "unmount") == 0){ @@ -193,6 +193,11 @@ nsop(char *fn, int argc, char *argv[], AuthRpc *rpc) unmount(argv[0], argv[1]); }else if(strcmp(argv0, "mount") == 0){ fd = open(argv[0], ORDWR); + if(fd < 0){ + if(newnsdebug) + fprint(2, "%s: mount: %s: %r\n", fn, argv[0]); + return 0; + } if(argc == 2){ if(famount(fd, rpc, argv[1], flags, "") < 0 && newnsdebug) fprint(2, "%s: mount: %s %s: %r\n", fn, argv[0], argv[1]); |