]> Git Repo - linux.git/commitdiff
svcrdma: CM event handler clean up
authorChuck Lever <[email protected]>
Tue, 30 Jun 2020 21:16:35 +0000 (17:16 -0400)
committerChuck Lever <[email protected]>
Tue, 28 Jul 2020 14:18:15 +0000 (10:18 -0400)
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 <[email protected]>
net/sunrpc/xprtrdma/svc_rdma_transport.c

index aa60f75c8c1d53ac8f4ff4aa1c9e95d2ee47d6f3..fb044792b571c7e458f8baedd308af6aaccaf3dd 100644 (file)
@@ -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;
This page took 0.062455 seconds and 4 git commands to generate.