summaryrefslogtreecommitdiffstats
path: root/xlators/nfs/lib/src/rpcsvc.h
diff options
context:
space:
mode:
authorShehjar Tikoo <shehjart@gluster.com>2010-11-10 07:56:45 +0000
committerAnand V. Avati <avati@dev.gluster.com>2010-11-10 20:07:33 -0800
commit7b8015edf8ac2fc33e486d2ef66b01c53c200d60 (patch)
treec54344344a3afd3a9c3bd0380aacbabb8f030822 /xlators/nfs/lib/src/rpcsvc.h
parent681d7d3aa926e0959ad3f66e53282cb4e55d6202 (diff)
rpcsvc: Fix crash in program search after portmap registration failure
Failure to register with portmap was leaving the registered programs list in inconsistent state. This was causing a crash. portmap registration can fail if there is an NFS server already running. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2072 (NFS server crash in __nfs_rpcsvc_program_actor) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2072
Diffstat (limited to 'xlators/nfs/lib/src/rpcsvc.h')
-rw-r--r--xlators/nfs/lib/src/rpcsvc.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/xlators/nfs/lib/src/rpcsvc.h b/xlators/nfs/lib/src/rpcsvc.h
index 300111de5e0..6d4bcf89ed5 100644
--- a/xlators/nfs/lib/src/rpcsvc.h
+++ b/xlators/nfs/lib/src/rpcsvc.h
@@ -635,7 +635,11 @@ extern int
nfs_rpcsvc_conn_privport_check (rpcsvc_t *svc, char *volname,
rpcsvc_conn_t *conn);
#define nfs_rpcsvc_request_seterr(req, err) (req)->rpc_err = err
-#define nfs_rpcsvc_request_set_autherr(req, err) (req)->auth_err = err
+#define nfs_rpcsvc_request_set_autherr(req, err) \
+ do { \
+ (req)->auth_err = err; \
+ (req)->rpc_stat = MSG_DENIED; \
+ } while (0) \
extern void
nfs_rpcsvc_conn_deinit (rpcsvc_conn_t *conn);