2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-09 22:24:04 +08:00

RDMA/rtrs-srv: Add error messages for cases when failing RDMA connection

It was difficult to find out why it failed to establish RDMA
connection. This patch adds some messages to show which function
has failed why.

Link: https://lore.kernel.org/r/20210528113018.52290-4-jinpu.wang@ionos.com
Signed-off-by: Md Haris Iqbal <haris.iqbal@ionos.com>
Signed-off-by: Gioh Kim <gi-oh.kim@ionos.com>
Signed-off-by: Jack Wang <jinpu.wang@ionos.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
This commit is contained in:
Md Haris Iqbal 2021-05-28 13:30:01 +02:00 committed by Jason Gunthorpe
parent 21c6f5674b
commit 6564b11031

View File

@ -1356,8 +1356,10 @@ static struct rtrs_srv *get_or_create_srv(struct rtrs_srv_ctx *ctx,
* If this request is not the first connection request from the * If this request is not the first connection request from the
* client for this session then fail and return error. * client for this session then fail and return error.
*/ */
if (!first_conn) if (!first_conn) {
pr_err_ratelimited("Error: Not the first connection request for this session\n");
return ERR_PTR(-ENXIO); return ERR_PTR(-ENXIO);
}
/* need to allocate a new srv */ /* need to allocate a new srv */
srv = kzalloc(sizeof(*srv), GFP_KERNEL); srv = kzalloc(sizeof(*srv), GFP_KERNEL);
@ -1812,6 +1814,7 @@ static int rtrs_rdma_connect(struct rdma_cm_id *cm_id,
srv = get_or_create_srv(ctx, &msg->paths_uuid, msg->first_conn); srv = get_or_create_srv(ctx, &msg->paths_uuid, msg->first_conn);
if (IS_ERR(srv)) { if (IS_ERR(srv)) {
err = PTR_ERR(srv); err = PTR_ERR(srv);
pr_err("get_or_create_srv(), error %d\n", err);
goto reject_w_err; goto reject_w_err;
} }
mutex_lock(&srv->paths_mutex); mutex_lock(&srv->paths_mutex);
@ -1850,11 +1853,13 @@ static int rtrs_rdma_connect(struct rdma_cm_id *cm_id,
mutex_unlock(&srv->paths_mutex); mutex_unlock(&srv->paths_mutex);
put_srv(srv); put_srv(srv);
err = PTR_ERR(sess); err = PTR_ERR(sess);
pr_err("RTRS server session allocation failed: %d\n", err);
goto reject_w_err; goto reject_w_err;
} }
} }
err = create_con(sess, cm_id, cid); err = create_con(sess, cm_id, cid);
if (err) { if (err) {
rtrs_err((&sess->s), "create_con(), error %d\n", err);
(void)rtrs_rdma_do_reject(cm_id, err); (void)rtrs_rdma_do_reject(cm_id, err);
/* /*
* Since session has other connections we follow normal way * Since session has other connections we follow normal way
@ -1865,6 +1870,7 @@ static int rtrs_rdma_connect(struct rdma_cm_id *cm_id,
} }
err = rtrs_rdma_do_accept(sess, cm_id); err = rtrs_rdma_do_accept(sess, cm_id);
if (err) { if (err) {
rtrs_err((&sess->s), "rtrs_rdma_do_accept(), error %d\n", err);
(void)rtrs_rdma_do_reject(cm_id, err); (void)rtrs_rdma_do_reject(cm_id, err);
/* /*
* Since current connection was successfully added to the * Since current connection was successfully added to the