avoid buggy kmem_cache_destory on repeated connect/disconnect cycles, refine
the predicate used to print an error related to the processing of error-ed WC.
Signed-off-by: Or Gerlitz <ogerlitz.voltaire.com>
Index: iser_verbs.c
===================================================================
--- iser_verbs.c (revision 4984)
+++ iser_verbs.c (revision 4985)
@@ -670,7 +670,8 @@ static void iser_handle_comp_error(enum
iser_dbg("Conn. 0x%p is being terminated asynchronously\n",
p_iser_conn);
}
/* Handle completion Error */
- if (iser_dto_completion_error(p_dto))
+ ret_val = iser_dto_completion_error(p_dto);
+ if (ret_val && ret_val != -EAGAIN)
iser_err("Failed to handle ERROR DTO completion\n");
}
Index: iser_conn.c
===================================================================
--- iser_conn.c (revision 4984)
+++ iser_conn.c (revision 4985)
@@ -381,6 +381,7 @@ void iser_conn_release(struct iser_conn
if(kmem_cache_destroy(p_iscsi_conn->postrecv_cache) !=
0)
iser_err("postrecv cache %s not empty, leak!\n",
p_iscsi_conn->postrecv_cn);
+ p_iscsi_conn->ff_mode_enabled = 0;
}
/* release socket with conn descriptor */
sock_release(iser_conn_to_sock(p_iser_conn));
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general