> @@ -201,9 +202,10 @@ static void qp_event_handler(struct ib_event *event, 
> void *context)
>       case IB_EVENT_QP_ACCESS_ERR:
>       case IB_EVENT_DEVICE_FATAL:
>       default:
> -             dprintk("svcrdma: QP ERROR event %d received for QP=%p, "
> +             dprintk("svcrdma: QP ERROR event %s (%d) received for QP=%p, "
>                       "closing transport\n",


Generally it is recommended to keep strings on a single line for easier
grepping of the code.

"However, never break user-visible strings such as printk messages, because
that breaks the ability to grep for them."

        -- https://www.kernel.org/doc/Documentation/CodingStyle

I think in this case it is probably ok because of the %p specifier which can't
really be grepped for...

So I'm ok with this but it might be nice to respin.

Same comment for a couple of places below.

Reviewed-by: Ira Weiny <[email protected]>

> -                     event->event, event->element.qp);
> +                     ib_event_msg(event->event), event->event,
> +                     event->element.qp);
>               set_bit(XPT_CLOSE, &xprt->xpt_flags);
>               break;
>       }
> @@ -402,7 +404,8 @@ static void sq_cq_reap(struct svcxprt_rdma *xprt)
>               for (i = 0; i < ret; i++) {
>                       wc = &wc_a[i];
>                       if (wc->status != IB_WC_SUCCESS) {
> -                             dprintk("svcrdma: sq wc err status %d\n",
> +                             dprintk("svcrdma: sq wc err status %s (%d)\n",
> +                                     ib_wc_status_msg(wc->status),
>                                       wc->status);
>  
>                               /* Close the transport */
> @@ -616,7 +619,8 @@ static int rdma_listen_handler(struct rdma_cm_id *cma_id,
>       switch (event->event) {
>       case RDMA_CM_EVENT_CONNECT_REQUEST:
>               dprintk("svcrdma: Connect request on cma_id=%p, xprt = %p, "
> -                     "event=%d\n", cma_id, cma_id->context, event->event);
> +                     "event = %s (%d)\n", cma_id, cma_id->context,
> +                     rdma_event_msg(event->event), event->event);
>               handle_connect_req(cma_id,
>                                  event->param.conn.initiator_depth);
>               break;
> @@ -636,7 +640,8 @@ static int rdma_listen_handler(struct rdma_cm_id *cma_id,
>  
>       default:
>               dprintk("svcrdma: Unexpected event on listening endpoint %p, "
> -                     "event=%d\n", cma_id, event->event);
> +                     "event = %s (%d)\n", cma_id,
> +                     rdma_event_msg(event->event), event->event);
>               break;
>       }
>  
> @@ -669,7 +674,8 @@ static int rdma_cma_handler(struct rdma_cm_id *cma_id,
>               break;
>       case RDMA_CM_EVENT_DEVICE_REMOVAL:
>               dprintk("svcrdma: Device removal cma_id=%p, xprt = %p, "
> -                     "event=%d\n", cma_id, xprt, event->event);
> +                     "event = %s (%d)\n", cma_id, xprt,
> +                     rdma_event_msg(event->event), event->event);
>               if (xprt) {
>                       set_bit(XPT_CLOSE, &xprt->xpt_flags);
>                       svc_xprt_enqueue(xprt);
> @@ -677,7 +683,8 @@ static int rdma_cma_handler(struct rdma_cm_id *cma_id,
>               break;
>       default:
>               dprintk("svcrdma: Unexpected event on DTO endpoint %p, "
> -                     "event=%d\n", cma_id, event->event);
> +                     "event = %s (%d)\n", cma_id,
> +                     rdma_event_msg(event->event), event->event);
>               break;
>       }
>       return 0;
> diff --git a/net/sunrpc/xprtrdma/verbs.c b/net/sunrpc/xprtrdma/verbs.c
> index 4870d27..6f6b8a5 100644
> --- a/net/sunrpc/xprtrdma/verbs.c
> +++ b/net/sunrpc/xprtrdma/verbs.c
> @@ -105,32 +105,6 @@ rpcrdma_run_tasklet(unsigned long data)
>  
>  static DECLARE_TASKLET(rpcrdma_tasklet_g, rpcrdma_run_tasklet, 0UL);
>  
> -static const char * const async_event[] = {
> -     "CQ error",
> -     "QP fatal error",
> -     "QP request error",
> -     "QP access error",
> -     "communication established",
> -     "send queue drained",
> -     "path migration successful",
> -     "path mig error",
> -     "device fatal error",
> -     "port active",
> -     "port error",
> -     "LID change",
> -     "P_key change",
> -     "SM change",
> -     "SRQ error",
> -     "SRQ limit reached",
> -     "last WQE reached",
> -     "client reregister",
> -     "GID change",
> -};
> -
> -#define ASYNC_MSG(status)                                    \
> -     ((status) < ARRAY_SIZE(async_event) ?                   \
> -             async_event[(status)] : "unknown async error")
> -
>  static void
>  rpcrdma_schedule_tasklet(struct list_head *sched_list)
>  {
> @@ -148,7 +122,7 @@ rpcrdma_qp_async_error_upcall(struct ib_event *event, 
> void *context)
>       struct rpcrdma_ep *ep = context;
>  
>       pr_err("RPC:       %s: %s on device %s ep %p\n",
> -            __func__, ASYNC_MSG(event->event),
> +            __func__, ib_event_msg(event->event),
>               event->device->name, context);
>       if (ep->rep_connected == 1) {
>               ep->rep_connected = -EIO;
> @@ -163,7 +137,7 @@ rpcrdma_cq_async_error_upcall(struct ib_event *event, 
> void *context)
>       struct rpcrdma_ep *ep = context;
>  
>       pr_err("RPC:       %s: %s on device %s ep %p\n",
> -            __func__, ASYNC_MSG(event->event),
> +            __func__, ib_event_msg(event->event),
>               event->device->name, context);
>       if (ep->rep_connected == 1) {
>               ep->rep_connected = -EIO;
> @@ -172,35 +146,6 @@ rpcrdma_cq_async_error_upcall(struct ib_event *event, 
> void *context)
>       }
>  }
>  
> -static const char * const wc_status[] = {
> -     "success",
> -     "local length error",
> -     "local QP operation error",
> -     "local EE context operation error",
> -     "local protection error",
> -     "WR flushed",
> -     "memory management operation error",
> -     "bad response error",
> -     "local access error",
> -     "remote invalid request error",
> -     "remote access error",
> -     "remote operation error",
> -     "transport retry counter exceeded",
> -     "RNR retry counter exceeded",
> -     "local RDD violation error",
> -     "remove invalid RD request",
> -     "operation aborted",
> -     "invalid EE context number",
> -     "invalid EE context state",
> -     "fatal error",
> -     "response timeout error",
> -     "general error",
> -};
> -
> -#define COMPLETION_MSG(status)                                       \
> -     ((status) < ARRAY_SIZE(wc_status) ?                     \
> -             wc_status[(status)] : "unexpected completion error")
> -
>  static void
>  rpcrdma_sendcq_process_wc(struct ib_wc *wc)
>  {
> @@ -209,7 +154,7 @@ rpcrdma_sendcq_process_wc(struct ib_wc *wc)
>               if (wc->status != IB_WC_SUCCESS &&
>                   wc->status != IB_WC_WR_FLUSH_ERR)
>                       pr_err("RPC:       %s: SEND: %s\n",
> -                            __func__, COMPLETION_MSG(wc->status));
> +                            __func__, ib_wc_status_msg(wc->status));
>       } else {
>               struct rpcrdma_mw *r;
>  
> @@ -302,7 +247,7 @@ out_schedule:
>  out_fail:
>       if (wc->status != IB_WC_WR_FLUSH_ERR)
>               pr_err("RPC:       %s: rep %p: %s\n",
> -                    __func__, rep, COMPLETION_MSG(wc->status));
> +                    __func__, rep, ib_wc_status_msg(wc->status));
>       rep->rr_len = ~0U;
>       goto out_schedule;
>  }
> @@ -386,31 +331,6 @@ rpcrdma_flush_cqs(struct rpcrdma_ep *ep)
>               rpcrdma_sendcq_process_wc(&wc);
>  }
>  
> -#if IS_ENABLED(CONFIG_SUNRPC_DEBUG)
> -static const char * const conn[] = {
> -     "address resolved",
> -     "address error",
> -     "route resolved",
> -     "route error",
> -     "connect request",
> -     "connect response",
> -     "connect error",
> -     "unreachable",
> -     "rejected",
> -     "established",
> -     "disconnected",
> -     "device removal",
> -     "multicast join",
> -     "multicast error",
> -     "address change",
> -     "timewait exit",
> -};
> -
> -#define CONNECTION_MSG(status)                                               
> \
> -     ((status) < ARRAY_SIZE(conn) ?                                  \
> -             conn[(status)] : "unrecognized connection error")
> -#endif
> -
>  static int
>  rpcrdma_conn_upcall(struct rdma_cm_id *id, struct rdma_cm_event *event)
>  {
> @@ -476,7 +396,7 @@ connected:
>       default:
>               dprintk("RPC:       %s: %pIS:%u (ep 0x%p): %s\n",
>                       __func__, sap, rpc_get_port(sap), ep,
> -                     CONNECTION_MSG(event->event));
> +                     rdma_event_msg(event->event));
>               break;
>       }
>  
> -- 
> 1.7.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to