[openib-general] [PATCH] for-2.6.19 cma: protect against adding device during destruction

Or Gerlitz ogerlitz at voltaire.com
Sun Sep 3 23:11:00 PDT 2006


Sean Hefty wrote:
>> Does this patch protects against the case where an rdma_cm_id is being
>> destructed while address resolution related to the **same** id attaches
>> it to a device?
>>
>> If yes, why does someone destroys this id? is it legal to do so?
> 
> Yes - this protects against the user destroying the id while that same id is
> being attached to a device.  This is legal.  The user may want to cancel address
> resolution by destroying the rdma_cm_id.

ok, thanks for clarifying that, is cancellation allowed only for address 
resolution or also for route resolving and/or CM calls? also how about 
documenting this?

Or.

diff --git a/include/rdma/rdma_cm.h b/include/rdma/rdma_cm.h
index 402c63d..b9e22c8 100644
--- a/include/rdma/rdma_cm.h
+++ b/include/rdma/rdma_cm.h
@@ -117,6 +117,14 @@ struct rdma_cm_id {
  struct rdma_cm_id *rdma_create_id(rdma_cm_event_handler event_handler,
  				  void *context, enum rdma_port_space ps);

+/**
+ * rdma_destroy_id - Destroys an RDMA identifier.
+ *
+ * @id: RDMA identifier.
+ *
+ * Note: calling this function has the effect of canceling in-flight
+ * asynchronous operations associated with the id.
+ */
  void rdma_destroy_id(struct rdma_cm_id *id);

  /**





More information about the general mailing list