IB/uverbs: Consolidate uobject destruction
There are several flows that can destroy a uobject and each one is minimized and sprinkled throughout the code base, making it difficult to understand and very hard to modify the destroy path. Consolidate all of these into uverbs_destroy_uobject() and call it in all cases where a uobject has to be destroyed. This makes one change to the lifecycle, during any abort (eg when alloc_commit is not called) we always call out to alloc_abort, even if remove_commit needs to be called to delete a HW object. This also renames RDMA_REMOVE_DURING_CLEANUP to RDMA_REMOVE_ABORT to clarify its actual usage and revises some of the comments to reflect what the life cycle is for the type implementation. Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
@@ -1467,8 +1467,8 @@ enum rdma_remove_reason {
|
||||
RDMA_REMOVE_CLOSE,
|
||||
/* Driver is being hot-unplugged. This call should delete the actual object itself */
|
||||
RDMA_REMOVE_DRIVER_REMOVE,
|
||||
/* Context is being cleaned-up, but commit was just completed */
|
||||
RDMA_REMOVE_DURING_CLEANUP,
|
||||
/* uobj is being cleaned-up before being committed */
|
||||
RDMA_REMOVE_ABORT,
|
||||
};
|
||||
|
||||
struct ib_rdmacg_object {
|
||||
|
Reference in New Issue
Block a user