RDMA/rtrs: For HB error add additional clt/srv specific logging

In case of HB error, we need to know the specific path on which it
happened, for better debugging. Since the clt/srv path structures are not
available in rtrs.c, it needs to be done in the individual HB error
handler.

This commit add those loging. A sample kernel log output after this commit:

rtrs_core L357: <blya>: HB missed max reached.
rtrs_server L717: <blya>: HB err handler for path=ip:x.x.x.x@ip:x.x.x.x
.
.
rtrs_core L357: <blya>: HB missed max reached.
rtrs_client L1519: <blya>: HB err handler for path=ip:x.x.x.x@ip:x.x.x.x

Signed-off-by: Md Haris Iqbal <haris.iqbal@ionos.com>
Reviewed-by: Jack Wang <jinpu.wang@ionos.com>
Signed-off-by: Grzegorz Prajsner <grzegorz.prajsner@ionos.com>
Link: https://patch.msgid.link/20240821112217.41827-2-haris.iqbal@ionos.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
This commit is contained in:
Md Haris Iqbal 2024-08-21 13:22:07 +02:00 committed by Leon Romanovsky
parent 34cd192881
commit 4842cfb07a
2 changed files with 6 additions and 0 deletions

View File

@ -1494,7 +1494,9 @@ static bool rtrs_clt_change_state_get_old(struct rtrs_clt_path *clt_path,
static void rtrs_clt_hb_err_handler(struct rtrs_con *c)
{
struct rtrs_clt_con *con = container_of(c, typeof(*con), c);
struct rtrs_clt_path *clt_path = to_clt_path(con->c.path);
rtrs_err(con->c.path, "HB err handler for path=%s\n", kobject_name(&clt_path->kobj));
rtrs_rdma_error_recovery(con);
}

View File

@ -672,6 +672,10 @@ static int map_cont_bufs(struct rtrs_srv_path *srv_path)
static void rtrs_srv_hb_err_handler(struct rtrs_con *c)
{
struct rtrs_srv_con *con = container_of(c, typeof(*con), c);
struct rtrs_srv_path *srv_path = to_srv_path(con->c.path);
rtrs_err(con->c.path, "HB err handler for path=%s\n", kobject_name(&srv_path->kobj));
close_path(to_srv_path(c->path));
}