protocol/server: Include a check to validate xprt->client
rpc_transport entries(xprt) are added to the conf->xprt_list during client connection with the server. But the client object is created and assigned to that transport object only during GF_HANDSK_SETVOLUME. Hence till that period, there could be xprt entries in the xprt_list without client associated with it. Added a check to validate the client object during upcall notify. Change-Id: I11e2fcd8b0a67e35302ede478b777b72d1973456 BUG: 1235542 Signed-off-by: Soumya Koduri <skoduri@redhat.com> Reviewed-on: http://review.gluster.org/11411 Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com> Tested-by: NetBSD Build System <jenkins@build.gluster.org> Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
This commit is contained in:
parent
35d24f0c96
commit
14cf2bbe77
@ -1154,7 +1154,9 @@ server_process_event_upcall (xlator_t *this, void *data)
|
||||
list_for_each_entry (xprt, &conf->xprt_list, list) {
|
||||
client = xprt->xl_private;
|
||||
|
||||
if (strcmp(client->client_uid, client_uid))
|
||||
/* 'client' is not atomically added during xprt entry
|
||||
* addition to the list. */
|
||||
if (!client || strcmp(client->client_uid, client_uid))
|
||||
continue;
|
||||
|
||||
rpcsvc_request_submit(conf->rpc, xprt,
|
||||
|
Loading…
x
Reference in New Issue
Block a user