path: root/include
diff options
authorJason Gunthorpe <jgg@mellanox.com>2019-02-06 22:41:52 -0700
committerJason Gunthorpe <jgg@mellanox.com>2019-02-08 16:56:45 -0700
commite59178d895afa29b671323f8265a1e50afe989e5 (patch)
tree65e3c56bd4f7bc1780434ae50aa8fda0147d915d /include
parentRDMA/device: Use an ida instead of a free page in alloc_name (diff)
RDMA/devices: Use xarray to store the clients
This gives each client a unique ID and will let us move client_data to use xarray, and revise the locking scheme. clients have to be add/removed in strict FIFO/LIFO order as they interdepend. To support this the client_ids are assigned to increase in FIFO order. The existing linked list is kept to support reverse iteration until xarray can get a reverse iteration API. Signed-off-by: Jason Gunthorpe <jgg@mellanox.com> Reviewed-by: Parav Pandit <parav@mellanox.com>
Diffstat (limited to 'include')
1 files changed, 2 insertions, 1 deletions
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index d8ba987e8b29..cc15820513cd 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -2610,7 +2610,7 @@ struct ib_device {
struct ib_client {
- char *name;
+ const char *name;
void (*add) (struct ib_device *);
void (*remove)(struct ib_device *, void *client_data);
@@ -2637,6 +2637,7 @@ struct ib_client {
const struct sockaddr *addr,
void *client_data);
struct list_head list;
+ u32 client_id;
/* kverbs are not required by the client */
u8 no_kverbs_req:1;