RDMA/rtrs-srv: Report temporary sessname for error message
Before receiving the session name, the error message cannot include any information about which connection generates the error. This patch stores the addresses of source and target in the sessname field to show which generates the error. That field will be over-written when receiving the session name from client. Link: https://lore.kernel.org/r/20210325153308.1214057-17-gi-oh.kim@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:
Родитель
8e86499e6c
Коммит
88e2f10564
|
@ -1683,6 +1683,9 @@ static struct rtrs_srv_sess *__alloc_sess(struct rtrs_srv *srv,
|
|||
{
|
||||
struct rtrs_srv_sess *sess;
|
||||
int err = -ENOMEM;
|
||||
char str[NAME_MAX];
|
||||
struct rtrs_sess *s;
|
||||
struct rtrs_addr path;
|
||||
|
||||
if (srv->paths_num >= MAX_PATHS_NUM) {
|
||||
err = -ECONNRESET;
|
||||
|
@ -1717,6 +1720,14 @@ static struct rtrs_srv_sess *__alloc_sess(struct rtrs_srv *srv,
|
|||
sess->cur_cq_vector = -1;
|
||||
sess->s.dst_addr = cm_id->route.addr.dst_addr;
|
||||
sess->s.src_addr = cm_id->route.addr.src_addr;
|
||||
|
||||
/* temporary until receiving session-name from client */
|
||||
s = &sess->s;
|
||||
path.src = &sess->s.src_addr;
|
||||
path.dst = &sess->s.dst_addr;
|
||||
rtrs_addr_to_str(&path, str, sizeof(str));
|
||||
strlcpy(sess->s.sessname, str, sizeof(sess->s.sessname));
|
||||
|
||||
sess->s.con_num = con_num;
|
||||
sess->s.recon_cnt = recon_cnt;
|
||||
uuid_copy(&sess->s.uuid, uuid);
|
||||
|
|
Загрузка…
Ссылка в новой задаче