From 1ebcdca4ba208953fc8035c001b980eb7b51228b Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Thu, 22 Dec 2016 01:56:19 +0100 Subject: [PATCH] libauth: don't attempt to mount when opening mount srv file fails in nsop() making newnsdebug error messages more usefull... --- sys/src/libauth/newns.c | 11 ++++++++--- 1 file 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]);