@@ -237,62 +237,56 @@ static void handle_connect_req(struct rdma_cm_id *new_cma_id,
237237 svc_xprt_enqueue (& listen_xprt -> sc_xprt );
238238}
239239
240- /*
241- * Handles events generated on the listening endpoint. These events will be
242- * either be incoming connect requests or adapter removal events.
240+ /**
241+ * svc_rdma_listen_handler - Handle CM events generated on a listening endpoint
242+ * @cma_id: the server's listener rdma_cm_id
243+ * @event: details of the event
244+ *
245+ * Return values:
246+ * %0: Do not destroy @cma_id
247+ * %1: Destroy @cma_id (never returned here)
248+ *
249+ * NB: There is never a DEVICE_REMOVAL event for INADDR_ANY listeners.
243250 */
244- static int rdma_listen_handler (struct rdma_cm_id * cma_id ,
245- struct rdma_cm_event * event )
251+ static int svc_rdma_listen_handler (struct rdma_cm_id * cma_id ,
252+ struct rdma_cm_event * event )
246253{
247254 switch (event -> event ) {
248255 case RDMA_CM_EVENT_CONNECT_REQUEST :
249- dprintk ("svcrdma: Connect request on cma_id=%p, xprt = %p, "
250- "event = %s (%d)\n" , cma_id , cma_id -> context ,
251- rdma_event_msg (event -> event ), event -> event );
252256 handle_connect_req (cma_id , & event -> param .conn );
253257 break ;
254258 default :
255- /* NB: No device removal upcall for INADDR_ANY listeners */
256- dprintk ("svcrdma: Unexpected event on listening endpoint %p, "
257- "event = %s (%d)\n" , cma_id ,
258- rdma_event_msg (event -> event ), event -> event );
259259 break ;
260260 }
261-
262261 return 0 ;
263262}
264263
265- static int rdma_cma_handler (struct rdma_cm_id * cma_id ,
266- struct rdma_cm_event * event )
264+ /**
265+ * svc_rdma_cma_handler - Handle CM events on client connections
266+ * @cma_id: the server's listener rdma_cm_id
267+ * @event: details of the event
268+ *
269+ * Return values:
270+ * %0: Do not destroy @cma_id
271+ * %1: Destroy @cma_id (never returned here)
272+ */
273+ static int svc_rdma_cma_handler (struct rdma_cm_id * cma_id ,
274+ struct rdma_cm_event * event )
267275{
268276 struct svcxprt_rdma * rdma = cma_id -> context ;
269277 struct svc_xprt * xprt = & rdma -> sc_xprt ;
270278
271279 switch (event -> event ) {
272280 case RDMA_CM_EVENT_ESTABLISHED :
273- /* Accept complete */
274- dprintk ("svcrdma: Connection completed on DTO xprt=%p, "
275- "cm_id=%p\n" , xprt , cma_id );
276281 clear_bit (RDMAXPRT_CONN_PENDING , & rdma -> sc_flags );
277282 svc_xprt_enqueue (xprt );
278283 break ;
279284 case RDMA_CM_EVENT_DISCONNECTED :
280- dprintk ("svcrdma: Disconnect on DTO xprt=%p, cm_id=%p\n" ,
281- xprt , cma_id );
282- set_bit (XPT_CLOSE , & xprt -> xpt_flags );
283- svc_xprt_enqueue (xprt );
284- break ;
285285 case RDMA_CM_EVENT_DEVICE_REMOVAL :
286- dprintk ("svcrdma: Device removal cma_id=%p, xprt = %p, "
287- "event = %s (%d)\n" , cma_id , xprt ,
288- rdma_event_msg (event -> event ), event -> event );
289286 set_bit (XPT_CLOSE , & xprt -> xpt_flags );
290287 svc_xprt_enqueue (xprt );
291288 break ;
292289 default :
293- dprintk ("svcrdma: Unexpected event on DTO endpoint %p, "
294- "event = %s (%d)\n" , cma_id ,
295- rdma_event_msg (event -> event ), event -> event );
296290 break ;
297291 }
298292 return 0 ;
@@ -318,7 +312,7 @@ static struct svc_xprt *svc_rdma_create(struct svc_serv *serv,
318312 set_bit (XPT_LISTENER , & cma_xprt -> sc_xprt .xpt_flags );
319313 strcpy (cma_xprt -> sc_xprt .xpt_remotebuf , "listener" );
320314
321- listen_id = rdma_create_id (net , rdma_listen_handler , cma_xprt ,
315+ listen_id = rdma_create_id (net , svc_rdma_listen_handler , cma_xprt ,
322316 RDMA_PS_TCP , IB_QPT_RC );
323317 if (IS_ERR (listen_id )) {
324318 ret = PTR_ERR (listen_id );
@@ -482,7 +476,7 @@ static struct svc_xprt *svc_rdma_accept(struct svc_xprt *xprt)
482476 goto errout ;
483477
484478 /* Swap out the handler */
485- newxprt -> sc_cm_id -> event_handler = rdma_cma_handler ;
479+ newxprt -> sc_cm_id -> event_handler = svc_rdma_cma_handler ;
486480
487481 /* Construct RDMA-CM private message */
488482 pmsg .cp_magic = rpcrdma_cmp_magic ;
0 commit comments