mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 12:50:52 +07:00
svcrdma: CM event handler clean up
Now that there's a core tracepoint that reports these events, there's no need to maintain dprintk() call sites in each arm of the switch statements. We also refresh the documenting comments. Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
This commit is contained in:
parent
365e9992b9
commit
b297fed699
@ -237,62 +237,56 @@ static void handle_connect_req(struct rdma_cm_id *new_cma_id,
|
||||
svc_xprt_enqueue(&listen_xprt->sc_xprt);
|
||||
}
|
||||
|
||||
/*
|
||||
* Handles events generated on the listening endpoint. These events will be
|
||||
* either be incoming connect requests or adapter removal events.
|
||||
/**
|
||||
* svc_rdma_listen_handler - Handle CM events generated on a listening endpoint
|
||||
* @cma_id: the server's listener rdma_cm_id
|
||||
* @event: details of the event
|
||||
*
|
||||
* Return values:
|
||||
* %0: Do not destroy @cma_id
|
||||
* %1: Destroy @cma_id (never returned here)
|
||||
*
|
||||
* NB: There is never a DEVICE_REMOVAL event for INADDR_ANY listeners.
|
||||
*/
|
||||
static int rdma_listen_handler(struct rdma_cm_id *cma_id,
|
||||
struct rdma_cm_event *event)
|
||||
static int svc_rdma_listen_handler(struct rdma_cm_id *cma_id,
|
||||
struct rdma_cm_event *event)
|
||||
{
|
||||
switch (event->event) {
|
||||
case RDMA_CM_EVENT_CONNECT_REQUEST:
|
||||
dprintk("svcrdma: Connect request on cma_id=%p, xprt = %p, "
|
||||
"event = %s (%d)\n", cma_id, cma_id->context,
|
||||
rdma_event_msg(event->event), event->event);
|
||||
handle_connect_req(cma_id, &event->param.conn);
|
||||
break;
|
||||
default:
|
||||
/* NB: No device removal upcall for INADDR_ANY listeners */
|
||||
dprintk("svcrdma: Unexpected event on listening endpoint %p, "
|
||||
"event = %s (%d)\n", cma_id,
|
||||
rdma_event_msg(event->event), event->event);
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int rdma_cma_handler(struct rdma_cm_id *cma_id,
|
||||
struct rdma_cm_event *event)
|
||||
/**
|
||||
* svc_rdma_cma_handler - Handle CM events on client connections
|
||||
* @cma_id: the server's listener rdma_cm_id
|
||||
* @event: details of the event
|
||||
*
|
||||
* Return values:
|
||||
* %0: Do not destroy @cma_id
|
||||
* %1: Destroy @cma_id (never returned here)
|
||||
*/
|
||||
static int svc_rdma_cma_handler(struct rdma_cm_id *cma_id,
|
||||
struct rdma_cm_event *event)
|
||||
{
|
||||
struct svcxprt_rdma *rdma = cma_id->context;
|
||||
struct svc_xprt *xprt = &rdma->sc_xprt;
|
||||
|
||||
switch (event->event) {
|
||||
case RDMA_CM_EVENT_ESTABLISHED:
|
||||
/* Accept complete */
|
||||
dprintk("svcrdma: Connection completed on DTO xprt=%p, "
|
||||
"cm_id=%p\n", xprt, cma_id);
|
||||
clear_bit(RDMAXPRT_CONN_PENDING, &rdma->sc_flags);
|
||||
svc_xprt_enqueue(xprt);
|
||||
break;
|
||||
case RDMA_CM_EVENT_DISCONNECTED:
|
||||
dprintk("svcrdma: Disconnect on DTO xprt=%p, cm_id=%p\n",
|
||||
xprt, cma_id);
|
||||
set_bit(XPT_CLOSE, &xprt->xpt_flags);
|
||||
svc_xprt_enqueue(xprt);
|
||||
break;
|
||||
case RDMA_CM_EVENT_DEVICE_REMOVAL:
|
||||
dprintk("svcrdma: Device removal cma_id=%p, xprt = %p, "
|
||||
"event = %s (%d)\n", cma_id, xprt,
|
||||
rdma_event_msg(event->event), event->event);
|
||||
set_bit(XPT_CLOSE, &xprt->xpt_flags);
|
||||
svc_xprt_enqueue(xprt);
|
||||
break;
|
||||
default:
|
||||
dprintk("svcrdma: Unexpected event on DTO endpoint %p, "
|
||||
"event = %s (%d)\n", cma_id,
|
||||
rdma_event_msg(event->event), event->event);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
@ -318,7 +312,7 @@ static struct svc_xprt *svc_rdma_create(struct svc_serv *serv,
|
||||
set_bit(XPT_LISTENER, &cma_xprt->sc_xprt.xpt_flags);
|
||||
strcpy(cma_xprt->sc_xprt.xpt_remotebuf, "listener");
|
||||
|
||||
listen_id = rdma_create_id(net, rdma_listen_handler, cma_xprt,
|
||||
listen_id = rdma_create_id(net, svc_rdma_listen_handler, cma_xprt,
|
||||
RDMA_PS_TCP, IB_QPT_RC);
|
||||
if (IS_ERR(listen_id)) {
|
||||
ret = PTR_ERR(listen_id);
|
||||
@ -482,7 +476,7 @@ static struct svc_xprt *svc_rdma_accept(struct svc_xprt *xprt)
|
||||
goto errout;
|
||||
|
||||
/* Swap out the handler */
|
||||
newxprt->sc_cm_id->event_handler = rdma_cma_handler;
|
||||
newxprt->sc_cm_id->event_handler = svc_rdma_cma_handler;
|
||||
|
||||
/* Construct RDMA-CM private message */
|
||||
pmsg.cp_magic = rpcrdma_cmp_magic;
|
||||
|
Loading…
Reference in New Issue
Block a user