Commit 4e0f7b90 authored by Parav Pandit's avatar Parav Pandit Committed by Jason Gunthorpe

RDMA/core: Implement compat device/sysfs tree in net namespace

Implement compatibility layer sysfs entries of ib_core so that non
init_net net namespaces can also discover rdma devices.

Each non init_net net namespace has ib_core_device created in it.
Such ib_core_device sysfs tree resembles rdma devices found in
init_net namespace.

This allows discovering rdma devices in multiple non init_net net
namespaces via sysfs entries and helpful to rdma-core userspace.
Signed-off-by: default avatarParav Pandit <parav@mellanox.com>
Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent 62dfa795
This diff is collapsed.
...@@ -2559,6 +2559,7 @@ struct ib_core_device { ...@@ -2559,6 +2559,7 @@ struct ib_core_device {
* union of ib_core_device and device exists in ib_device. * union of ib_core_device and device exists in ib_device.
*/ */
struct device dev; struct device dev;
possible_net_t rdma_net;
struct kobject *ports_kobj; struct kobject *ports_kobj;
struct list_head port_list; struct list_head port_list;
struct ib_device *owner; /* reach back to owner ib_device */ struct ib_device *owner; /* reach back to owner ib_device */
...@@ -2636,6 +2637,11 @@ struct ib_device { ...@@ -2636,6 +2637,11 @@ struct ib_device {
struct work_struct unregistration_work; struct work_struct unregistration_work;
const struct rdma_link_ops *link_ops; const struct rdma_link_ops *link_ops;
/* Protects compat_devs xarray modifications */
struct mutex compat_devs_mutex;
/* Maintains compat devices for each net namespace */
struct xarray compat_devs;
}; };
struct ib_client { struct ib_client {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment