diff options
author | Shehjar Tikoo <shehjart@gluster.com> | 2010-11-10 07:56:45 +0000 |
---|---|---|
committer | Anand V. Avati <avati@dev.gluster.com> | 2010-11-10 20:07:33 -0800 |
commit | 7b8015edf8ac2fc33e486d2ef66b01c53c200d60 (patch) | |
tree | c54344344a3afd3a9c3bd0380aacbabb8f030822 /xlators/nfs/lib/src/rpcsvc.h | |
parent | 681d7d3aa926e0959ad3f66e53282cb4e55d6202 (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.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/xlators/nfs/lib/src/rpcsvc.h b/xlators/nfs/lib/src/rpcsvc.h index 300111de5..6d4bcf89e 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); |