When a CEPH_MSGR_TAG_RESETSESSION tag is received, the connection should be reset, dropping any pending messages and preparing for a new connection to be negotiated. Currently, reset_connection() is called to do this, but that only drops messages. To really get the connection fully reset, call ceph_con_close() instead. Signed-off-by: Alex Elder <elder@xxxxxxxxxxx> --- net/ceph/messenger.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) Index: b/net/ceph/messenger.c =================================================================== --- a/net/ceph/messenger.c +++ b/net/ceph/messenger.c @@ -1533,7 +1533,8 @@ static int process_connect(struct ceph_c pr_err("%s%lld %s connection reset\n", ENTITY_NAME(con->peer_name), ceph_pr_addr(&con->peer_addr.in_addr)); - reset_connection(con); + ceph_con_close(con); + ret = prepare_write_connect(con); if (ret < 0) return ret; -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html