From 7b8015edf8ac2fc33e486d2ef66b01c53c200d60 Mon Sep 17 00:00:00 2001 From: Shehjar Tikoo Date: Wed, 10 Nov 2010 07:56:45 +0000 Subject: 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 Signed-off-by: Anand V. Avati BUG: 2072 (NFS server crash in __nfs_rpcsvc_program_actor) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2072 --- xlators/nfs/lib/src/rpcsvc.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'xlators/nfs/lib/src/rpcsvc.h') 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); -- cgit