clt->kobj_paths,
"%s", str);
if (err) {
- pr_err("kobject_init_and_add: %d\n", err);
+ pr_err("kobject_init_and_add: %pe\n", ERR_PTR(err));
kobject_put(&clt_path->kobj);
return err;
}
err = sysfs_create_group(&clt_path->kobj, &rtrs_clt_path_attr_group);
if (err) {
- pr_err("sysfs_create_group(): %d\n", err);
+ pr_err("sysfs_create_group(): %pe\n", ERR_PTR(err));
goto put_kobj;
}
err = kobject_init_and_add(&clt_path->stats->kobj_stats, &ktype_stats,
&clt_path->kobj, "stats");
if (err) {
- pr_err("kobject_init_and_add: %d\n", err);
+ pr_err("kobject_init_and_add: %pe\n", ERR_PTR(err));
kobject_put(&clt_path->stats->kobj_stats);
goto remove_group;
}
err = sysfs_create_group(&clt_path->stats->kobj_stats,
&rtrs_clt_stats_attr_group);
if (err) {
- pr_err("failed to create stats sysfs group, err: %d\n", err);
+ pr_err("failed to create stats sysfs group, err: %pe\n", ERR_PTR(err));
goto put_kobj_stats;
}
refcount_inc(&req->ref);
err = rtrs_inv_rkey(req);
if (err) {
- rtrs_err_rl(con->c.path, "Send INV WR key=%#x: %d\n",
- req->mr->rkey, err);
+ rtrs_err_rl(con->c.path, "Send INV WR key=%#x: %pe\n",
+ req->mr->rkey, ERR_PTR(err));
} else if (can_wait) {
wait_for_completion(&req->inv_comp);
}
if (errno) {
rtrs_err_rl(con->c.path,
- "IO %s request failed: error=%d path=%s [%s:%u] notify=%d\n",
- req->dir == DMA_TO_DEVICE ? "write" : "read", errno,
+ "IO %s request failed: error=%pe path=%s [%s:%u] notify=%d\n",
+ req->dir == DMA_TO_DEVICE ? "write" : "read", ERR_PTR(errno),
kobject_name(&clt_path->kobj), clt_path->hca_name,
clt_path->hca_port, notify);
}
cqe);
err = rtrs_iu_post_recv(&con->c, iu);
if (err) {
- rtrs_err(con->c.path, "post iu failed %d\n", err);
+ rtrs_err(con->c.path, "post iu failed %pe\n", ERR_PTR(err));
rtrs_rdma_error_recovery(con);
}
}
else
err = rtrs_post_recv_empty(&con->c, &io_comp_cqe);
if (err) {
- rtrs_err(con->c.path, "rtrs_post_recv_empty(): %d\n",
- err);
+ rtrs_err(con->c.path, "rtrs_post_recv_empty(): %pe\n",
+ ERR_PTR(err));
rtrs_rdma_error_recovery(con);
}
break;
err = post_recv_io(to_clt_con(clt_path->s.con[cid]), q_size);
if (err) {
- rtrs_err(clt_path->clt, "post_recv_io(), err: %d\n",
- err);
+ rtrs_err(clt_path->clt, "post_recv_io(), err: %pe\n",
+ ERR_PTR(err));
return err;
}
}
ret = rtrs_map_sg_fr(req, count);
if (ret < 0) {
rtrs_err_rl(s,
- "Write request failed, failed to map fast reg. data, err: %d\n",
- ret);
+ "Write request failed, failed to map fast reg. data, err: %pe\n",
+ ERR_PTR(ret));
ib_dma_unmap_sg(clt_path->s.dev->ib_dev, req->sglist,
req->sg_cnt, req->dir);
return ret;
imm, wr, NULL);
if (ret) {
rtrs_err_rl(s,
- "Write request failed: error=%d path=%s [%s:%u]\n",
- ret, kobject_name(&clt_path->kobj), clt_path->hca_name,
- clt_path->hca_port);
+ "Write request failed: error=%pe path=%s [%s:%u]\n",
+ ERR_PTR(ret), kobject_name(&clt_path->kobj),
+ clt_path->hca_name, clt_path->hca_port);
if (req->mp_policy == MP_POLICY_MIN_INFLIGHT)
atomic_dec(&clt_path->stats->inflight);
if (req->mr->need_inval) {
ret = rtrs_map_sg_fr(req, count);
if (ret < 0) {
rtrs_err_rl(s,
- "Read request failed, failed to map fast reg. data, err: %d\n",
- ret);
+ "Read request failed, failed to map fast reg. data, err: %pe\n",
+ ERR_PTR(ret));
ib_dma_unmap_sg(dev->ib_dev, req->sglist, req->sg_cnt,
req->dir);
return ret;
req->data_len, imm, wr);
if (ret) {
rtrs_err_rl(s,
- "Read request failed: error=%d path=%s [%s:%u]\n",
- ret, kobject_name(&clt_path->kobj), clt_path->hca_name,
- clt_path->hca_port);
+ "Read request failed: error=%pe path=%s [%s:%u]\n",
+ ERR_PTR(ret), kobject_name(&clt_path->kobj),
+ clt_path->hca_name, clt_path->hca_port);
if (req->mp_policy == MP_POLICY_MIN_INFLIGHT)
atomic_dec(&clt_path->stats->inflight);
req->mr->need_inval = false;
err = create_con_cq_qp(con);
mutex_unlock(&con->con_mutex);
if (err) {
- rtrs_err(s, "create_con_cq_qp(), err: %d\n", err);
+ rtrs_err(s, "create_con_cq_qp(), err: %pe\n", ERR_PTR(err));
return err;
}
err = rdma_resolve_route(con->c.cm_id, RTRS_CONNECT_TIMEOUT_MS);
if (err)
- rtrs_err(s, "Resolving route failed, err: %d\n", err);
+ rtrs_err(s, "Resolving route failed, err: %pe\n", ERR_PTR(err));
return err;
}
err = rdma_connect_locked(con->c.cm_id, ¶m);
if (err)
- rtrs_err(clt, "rdma_connect_locked(): %d\n", err);
+ rtrs_err(clt, "rdma_connect_locked(): %pe\n", ERR_PTR(err));
return err;
}
}
errno = le16_to_cpu(msg->errno);
if (errno) {
- rtrs_err(clt, "Invalid RTRS message: errno %d\n",
- errno);
+ rtrs_err(clt, "Invalid RTRS message: errno %pe\n",
+ ERR_PTR(errno));
return -ECONNRESET;
}
if (con->c.cid == 0) {
"Previous session is still exists on the server, please reconnect later\n");
else
rtrs_err(s,
- "Connect rejected: status %d (%s), rtrs errno %d\n",
- status, rej_msg, errno);
+ "Connect rejected: status %d (%s), rtrs errno %pe\n",
+ status, rej_msg, ERR_PTR(errno));
} else {
rtrs_err(s,
- "Connect rejected but with malformed message: status %d (%s)\n",
- status, rej_msg);
+ "Connect rejected but with malformed message: status %pe (%s)\n",
+ ERR_PTR(status), rej_msg);
}
return -ECONNRESET;
case RDMA_CM_EVENT_UNREACHABLE:
case RDMA_CM_EVENT_ADDR_CHANGE:
case RDMA_CM_EVENT_TIMEWAIT_EXIT:
- rtrs_wrn(s, "CM error (CM event: %s, err: %d)\n",
- rdma_event_msg(ev->event), ev->status);
+ rtrs_wrn(s, "CM error (CM event: %s, err: %pe)\n",
+ rdma_event_msg(ev->event), ERR_PTR(ev->status));
cm_err = -ECONNRESET;
break;
case RDMA_CM_EVENT_ADDR_ERROR:
case RDMA_CM_EVENT_ROUTE_ERROR:
- rtrs_wrn(s, "CM error (CM event: %s, err: %d)\n",
- rdma_event_msg(ev->event), ev->status);
+ rtrs_wrn(s, "CM error (CM event: %s, err: %pe)\n",
+ rdma_event_msg(ev->event), ERR_PTR(ev->status));
cm_err = -EHOSTUNREACH;
break;
case RDMA_CM_EVENT_DEVICE_REMOVAL:
/*
* Device removal is a special case. Queue close and return 0.
*/
- rtrs_wrn_rl(s, "CM event: %s, status: %d\n", rdma_event_msg(ev->event),
- ev->status);
+ rtrs_wrn_rl(s, "CM event: %s, status: %pe\n", rdma_event_msg(ev->event),
+ ERR_PTR(ev->status));
rtrs_clt_close_conns(clt_path, false);
return 0;
default:
- rtrs_err(s, "Unexpected RDMA CM error (CM event: %s, err: %d)\n",
- rdma_event_msg(ev->event), ev->status);
+ rtrs_err(s, "Unexpected RDMA CM error (CM event: %s, err: %pe)\n",
+ rdma_event_msg(ev->event), ERR_PTR(ev->status));
cm_err = -ECONNRESET;
break;
}
/* allow the port to be reused */
err = rdma_set_reuseaddr(cm_id, 1);
if (err != 0) {
- rtrs_err(s, "Set address reuse failed, err: %d\n", err);
+ rtrs_err(s, "Set address reuse failed, err: %pe\n", ERR_PTR(err));
return err;
}
err = rdma_resolve_addr(cm_id, (struct sockaddr *)&clt_path->s.src_addr,
(struct sockaddr *)&clt_path->s.dst_addr,
RTRS_CONNECT_TIMEOUT_MS);
if (err) {
- rtrs_err(s, "Failed to resolve address, err: %d\n", err);
+ rtrs_err(s, "Failed to resolve address, err: %pe\n", ERR_PTR(err));
return err;
}
/*
/* Prepare for getting info response */
err = rtrs_iu_post_recv(&usr_con->c, rx_iu);
if (err) {
- rtrs_err(clt_path->clt, "rtrs_iu_post_recv(), err: %d\n", err);
+ rtrs_err(clt_path->clt, "rtrs_iu_post_recv(), err: %pe\n", ERR_PTR(err));
goto out;
}
rx_iu = NULL;
/* Send info request */
err = rtrs_iu_post_send(&usr_con->c, tx_iu, sizeof(*msg), NULL);
if (err) {
- rtrs_err(clt_path->clt, "rtrs_iu_post_send(), err: %d\n", err);
+ rtrs_err(clt_path->clt, "rtrs_iu_post_send(), err: %pe\n", ERR_PTR(err));
goto out;
}
tx_iu = NULL;
err = init_conns(clt_path);
if (err) {
rtrs_err(clt_path->clt,
- "init_conns() failed: err=%d path=%s [%s:%u]\n", err,
- str, clt_path->hca_name, clt_path->hca_port);
+ "init_conns() failed: err=%pe path=%s [%s:%u]\n",
+ ERR_PTR(err), str, clt_path->hca_name, clt_path->hca_port);
goto out;
}
err = rtrs_send_path_info(clt_path);
if (err) {
rtrs_err(clt_path->clt,
- "rtrs_send_path_info() failed: err=%d path=%s [%s:%u]\n",
- err, str, clt_path->hca_name, clt_path->hca_port);
+ "rtrs_send_path_info() failed: err=%pe path=%s [%s:%u]\n",
+ ERR_PTR(err), str, clt_path->hca_name, clt_path->hca_port);
goto out;
}
rtrs_clt_path_up(clt_path);
dev_set_uevent_suppress(&srv->dev, true);
err = device_add(&srv->dev);
if (err) {
- pr_err("device_add(): %d\n", err);
+ pr_err("device_add(): %pe\n", ERR_PTR(err));
put_device(&srv->dev);
goto unlock;
}
srv->kobj_paths = kobject_create_and_add("paths", &srv->dev.kobj);
if (!srv->kobj_paths) {
err = -ENOMEM;
- pr_err("kobject_create_and_add(): %d\n", err);
+ pr_err("kobject_create_and_add(): %pe\n", ERR_PTR(err));
device_del(&srv->dev);
put_device(&srv->dev);
goto unlock;
err = kobject_init_and_add(&srv_path->stats->kobj_stats, &ktype_stats,
&srv_path->kobj, "stats");
if (err) {
- rtrs_err(s, "kobject_init_and_add(): %d\n", err);
+ rtrs_err(s, "kobject_init_and_add(): %pe\n", ERR_PTR(err));
kobject_put(&srv_path->stats->kobj_stats);
return err;
}
err = sysfs_create_group(&srv_path->stats->kobj_stats,
&rtrs_srv_stats_attr_group);
if (err) {
- rtrs_err(s, "sysfs_create_group(): %d\n", err);
+ rtrs_err(s, "sysfs_create_group(): %pe\n", ERR_PTR(err));
goto err;
}
err = kobject_init_and_add(&srv_path->kobj, &ktype, srv->kobj_paths,
"%s", str);
if (err) {
- rtrs_err(s, "kobject_init_and_add(): %d\n", err);
+ rtrs_err(s, "kobject_init_and_add(): %pe\n", ERR_PTR(err));
goto destroy_root;
}
err = sysfs_create_group(&srv_path->kobj, &rtrs_srv_path_attr_group);
if (err) {
- rtrs_err(s, "sysfs_create_group(): %d\n", err);
+ rtrs_err(s, "sysfs_create_group(): %pe\n", ERR_PTR(err));
goto put_kobj;
}
err = rtrs_srv_create_stats_files(srv_path);
err = ib_post_send(id->con->c.qp, &id->tx_wr.wr, NULL);
if (err)
rtrs_err(s,
- "Posting RDMA-Write-Request to QP failed, err: %d\n",
- err);
+ "Posting RDMA-Write-Request to QP failed, err: %pe\n",
+ ERR_PTR(err));
return err;
}
err = ib_post_send(id->con->c.qp, wr, NULL);
if (err)
- rtrs_err_rl(s, "Posting RDMA-Reply to QP failed, err: %d\n",
- err);
+ rtrs_err_rl(s, "Posting RDMA-Reply to QP failed, err: %pe\n",
+ ERR_PTR(err));
return err;
}
err = rdma_write_sg(id);
if (err) {
- rtrs_err_rl(s, "IO response failed: %d: srv_path=%s\n", err,
- kobject_name(&srv_path->kobj));
+ rtrs_err_rl(s, "IO response failed: %pe: srv_path=%s\n",
+ ERR_PTR(err), kobject_name(&srv_path->kobj));
close_path(srv_path);
}
out:
DMA_TO_DEVICE, rtrs_srv_rdma_done);
if (!srv_mr->iu) {
err = -ENOMEM;
- rtrs_err(ss, "rtrs_iu_alloc(), err: %d\n", err);
+ rtrs_err(ss, "rtrs_iu_alloc(), err: %pe\n", ERR_PTR(err));
goto dereg_mr;
}
}
err = post_recv_path(srv_path);
if (err) {
- rtrs_err(s, "post_recv_path(), err: %d\n", err);
+ rtrs_err(s, "post_recv_path(), err: %pe\n", ERR_PTR(err));
return err;
}
get_device(&srv_path->srv->dev);
err = rtrs_srv_change_state(srv_path, RTRS_SRV_CONNECTED);
if (!err) {
- rtrs_err(s, "rtrs_srv_change_state(), err: %d\n", err);
+ rtrs_err(s, "rtrs_srv_change_state(), err: %pe\n", ERR_PTR(err));
goto iu_free;
}
*/
err = rtrs_srv_path_up(srv_path);
if (err) {
- rtrs_err(s, "rtrs_srv_path_up(), err: %d\n", err);
+ rtrs_err(s, "rtrs_srv_path_up(), err: %pe\n", ERR_PTR(err));
goto iu_free;
}
/* Send info response */
err = rtrs_iu_post_send(&con->c, tx_iu, tx_sz, reg_wr);
if (err) {
- rtrs_err(s, "rtrs_iu_post_send(), err: %d\n", err);
+ rtrs_err(s, "rtrs_iu_post_send(), err: %pe\n", ERR_PTR(err));
iu_free:
rtrs_iu_free(tx_iu, srv_path->s.dev->ib_dev, 1);
}
/* Prepare for getting info response */
err = rtrs_iu_post_recv(&con->c, rx_iu);
if (err) {
- rtrs_err(s, "rtrs_iu_post_recv(), err: %d\n", err);
+ rtrs_err(s, "rtrs_iu_post_recv(), err: %pe\n", ERR_PTR(err));
rtrs_iu_free(rx_iu, srv_path->s.dev->ib_dev, 1);
return err;
}
err = post_recv_io(to_srv_con(srv_path->s.con[cid]), q_size);
if (err) {
- rtrs_err(s, "post_recv_io(), err: %d\n", err);
+ rtrs_err(s, "post_recv_io(), err: %pe\n", ERR_PTR(err));
return err;
}
}
if (ret) {
rtrs_err_rl(s,
- "Processing read request failed, user module cb reported for msg_id %d, err: %d\n",
- buf_id, ret);
+ "Processing read request failed, user module cb reported for msg_id %d, err: %pe\n",
+ buf_id, ERR_PTR(ret));
goto send_err_msg;
}
ret = send_io_resp_imm(con, id, ret);
if (ret < 0) {
rtrs_err_rl(s,
- "Sending err msg for failed RDMA-Write-Req failed, msg_id %d, err: %d\n",
- buf_id, ret);
+ "Sending err msg for failed RDMA-Write-Req failed, msg_id %d, err: %pe\n",
+ buf_id, ERR_PTR(ret));
close_path(srv_path);
}
rtrs_srv_put_ops_ids(srv_path);
data + data_len, usr_len);
if (ret) {
rtrs_err_rl(s,
- "Processing write request failed, user module callback reports err: %d\n",
- ret);
+ "Processing write request failed, user module callback reports err: %pe\n",
+ ERR_PTR(ret));
goto send_err_msg;
}
ret = send_io_resp_imm(con, id, ret);
if (ret < 0) {
rtrs_err_rl(s,
- "Processing write request failed, sending I/O response failed, msg_id %d, err: %d\n",
- buf_id, ret);
+ "Processing write request failed, sending I/O response failed, msg_id %d, err: %pe\n",
+ buf_id, ERR_PTR(ret));
close_path(srv_path);
}
rtrs_srv_put_ops_ids(srv_path);
srv_path->s.hb_missed_cnt = 0;
err = rtrs_post_recv_empty(&con->c, &io_comp_cqe);
if (err) {
- rtrs_err(s, "rtrs_post_recv(), err: %d\n", err);
+ rtrs_err(s, "rtrs_post_recv(), err: %pe\n",
+ ERR_PTR(err));
close_path(srv_path);
break;
}
mr->msg_id = msg_id;
err = rtrs_srv_inv_rkey(con, mr);
if (err) {
- rtrs_err(s, "rtrs_post_recv(), err: %d\n",
- err);
+ rtrs_err(s, "rtrs_post_recv(), err: %pe\n",
+ ERR_PTR(err));
close_path(srv_path);
break;
}
err = rdma_accept(cm_id, ¶m);
if (err)
- pr_err("rdma_accept(), err: %d\n", err);
+ pr_err("rdma_accept(), err: %pe\n", ERR_PTR(err));
return err;
}
err = rdma_reject(cm_id, &msg, sizeof(msg), IB_CM_REJ_CONSUMER_DEFINED);
if (err)
- pr_err("rdma_reject(), err: %d\n", err);
+ pr_err("rdma_reject(), err: %pe\n", ERR_PTR(err));
/* Bounce errno back */
return errno;
max_send_wr, max_recv_wr,
IB_POLL_WORKQUEUE);
if (err) {
- rtrs_err(s, "rtrs_cq_qp_create(), err: %d\n", err);
+ rtrs_err(s, "rtrs_cq_qp_create(), err: %pe\n", ERR_PTR(err));
goto free_con;
}
if (con->c.cid == 0) {
}
err = create_con(srv_path, cm_id, cid);
if (err) {
- rtrs_err((&srv_path->s), "create_con(), error %d\n", err);
+ rtrs_err((&srv_path->s), "create_con(), error %pe\n", ERR_PTR(err));
rtrs_rdma_do_reject(cm_id, err);
/*
* Since session has other connections we follow normal way
}
err = rtrs_rdma_do_accept(srv_path, cm_id);
if (err) {
- rtrs_err((&srv_path->s), "rtrs_rdma_do_accept(), error %d\n", err);
+ rtrs_err((&srv_path->s), "rtrs_rdma_do_accept(), error %pe\n",
+ ERR_PTR(err));
rtrs_rdma_do_reject(cm_id, err);
/*
* Since current connection was successfully added to the
case RDMA_CM_EVENT_REJECTED:
case RDMA_CM_EVENT_CONNECT_ERROR:
case RDMA_CM_EVENT_UNREACHABLE:
- rtrs_err(s, "CM error (CM event: %s, err: %d)\n",
- rdma_event_msg(ev->event), ev->status);
+ rtrs_err(s, "CM error (CM event: %s, err: %pe)\n",
+ rdma_event_msg(ev->event), ERR_PTR(ev->status));
fallthrough;
case RDMA_CM_EVENT_DISCONNECTED:
case RDMA_CM_EVENT_ADDR_CHANGE:
close_path(srv_path);
break;
default:
- pr_err("Ignoring unexpected CM event %s, err %d\n",
- rdma_event_msg(ev->event), ev->status);
+ pr_err("Ignoring unexpected CM event %s, err %pe\n",
+ rdma_event_msg(ev->event), ERR_PTR(ev->status));
break;
}
}
ret = rdma_bind_addr(cm_id, addr);
if (ret) {
- pr_err("Binding RDMA address failed, err: %d\n", ret);
+ pr_err("Binding RDMA address failed, err: %pe\n", ERR_PTR(ret));
goto err_cm;
}
ret = rdma_listen(cm_id, 64);
if (ret) {
- pr_err("Listening on RDMA connection failed, err: %d\n",
- ret);
+ pr_err("Listening on RDMA connection failed, err: %pe\n",
+ ERR_PTR(ret));
goto err_cm;
}
err = check_module_params();
if (err) {
- pr_err("Failed to load module, invalid module parameters, err: %d\n",
- err);
+ pr_err("Failed to load module, invalid module parameters, err: %pe\n",
+ ERR_PTR(err));
return err;
}
err = class_register(&rtrs_dev_class);
ret = rdma_create_qp(cm_id, pd, &init_attr);
if (ret) {
- rtrs_err(con->path, "Creating QP failed, err: %d\n", ret);
+ rtrs_err(con->path, "Creating QP failed, err: %pe\n",
+ ERR_PTR(ret));
return ret;
}
con->qp = cm_id->qp;
err = rtrs_post_rdma_write_imm_empty(usr_con, path->hb_cqe, imm,
NULL);
if (err) {
- rtrs_err(path, "send HB ACK failed, errno: %d\n", err);
+ rtrs_err(path, "send HB ACK failed, errno: %pe\n",
+ ERR_PTR(err));
path->hb_err_handler(usr_con);
return;
}
err = rtrs_post_rdma_write_imm_empty(usr_con, path->hb_cqe, imm,
NULL);
if (err) {
- rtrs_err(path, "HB send failed, errno: %d\n", err);
+ rtrs_err(path, "HB send failed, errno: %pe\n",
+ ERR_PTR(err));
path->hb_err_handler(usr_con);
return;
}