RDS: IB: track and log active side endpoint in connection
Useful to know the active and passive end points in a RDS IB connection. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
This commit is contained in:
Родитель
c536a06887
Коммит
581d53c91c
|
@ -181,6 +181,9 @@ struct rds_ib_connection {
|
||||||
|
|
||||||
/* Batched completions */
|
/* Batched completions */
|
||||||
unsigned int i_unsignaled_wrs;
|
unsigned int i_unsignaled_wrs;
|
||||||
|
|
||||||
|
/* Endpoint role in connection */
|
||||||
|
bool i_active_side;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* This assumes that atomic_t is at least 32 bits */
|
/* This assumes that atomic_t is at least 32 bits */
|
||||||
|
|
|
@ -120,16 +120,17 @@ void rds_ib_cm_connect_complete(struct rds_connection *conn, struct rdma_cm_even
|
||||||
rds_conn_destroy(conn);
|
rds_conn_destroy(conn);
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
pr_notice("RDS/IB: connected <%pI4,%pI4> version %u.%u%s\n",
|
pr_notice("RDS/IB: %s conn connected <%pI4,%pI4> version %u.%u%s\n",
|
||||||
|
ic->i_active_side ? "Active" : "Passive",
|
||||||
&conn->c_laddr, &conn->c_faddr,
|
&conn->c_laddr, &conn->c_faddr,
|
||||||
RDS_PROTOCOL_MAJOR(conn->c_version),
|
RDS_PROTOCOL_MAJOR(conn->c_version),
|
||||||
RDS_PROTOCOL_MINOR(conn->c_version),
|
RDS_PROTOCOL_MINOR(conn->c_version),
|
||||||
ic->i_flowctl ? ", flow control" : "");
|
ic->i_flowctl ? ", flow control" : "");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/* Init rings and fill recv. this needs to wait until protocol
|
||||||
* Init rings and fill recv. this needs to wait until protocol negotiation
|
* negotiation is complete, since ring layout is different
|
||||||
* is complete, since ring layout is different from 3.0 to 3.1.
|
* from 3.1 to 4.1.
|
||||||
*/
|
*/
|
||||||
rds_ib_send_init_ring(ic);
|
rds_ib_send_init_ring(ic);
|
||||||
rds_ib_recv_init_ring(ic);
|
rds_ib_recv_init_ring(ic);
|
||||||
|
@ -685,6 +686,7 @@ out:
|
||||||
if (ic->i_cm_id == cm_id)
|
if (ic->i_cm_id == cm_id)
|
||||||
ret = 0;
|
ret = 0;
|
||||||
}
|
}
|
||||||
|
ic->i_active_side = true;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -859,6 +861,7 @@ void rds_ib_conn_path_shutdown(struct rds_conn_path *cp)
|
||||||
ic->i_sends = NULL;
|
ic->i_sends = NULL;
|
||||||
vfree(ic->i_recvs);
|
vfree(ic->i_recvs);
|
||||||
ic->i_recvs = NULL;
|
ic->i_recvs = NULL;
|
||||||
|
ic->i_active_side = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
int rds_ib_conn_alloc(struct rds_connection *conn, gfp_t gfp)
|
int rds_ib_conn_alloc(struct rds_connection *conn, gfp_t gfp)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче