On Thu, Sep 20, 2018 at 07:40:39PM +0300, Leon Romanovsky wrote: > > > The protection is done with global device_lock because it is used in > > > allocation and deallocation phases. At this stage, this lock is not > > > busy and easily can be moved to be per-device, once it will be needed. > > > > > > Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxxxx> > > > drivers/infiniband/core/device.c | 24 +++++++++++++++++++++++- > > > include/rdma/ib_verbs.h | 8 +++++++- > > > 2 files changed, 30 insertions(+), 2 deletions(-) > > > > > > diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/device.c > > > index 5a680a88aa87..3270cde6d806 100644 > > > +++ b/drivers/infiniband/core/device.c > > > @@ -170,6 +170,14 @@ static struct ib_device *__ib_device_get_by_name(const char *name) > > > return NULL; > > > } > > > > > > +void ib_device_get_name(struct ib_device *ibdev, char *name) > > > +{ > > > + down_read(&lists_rwsem); > > > + strlcpy(name, ibdev->name, IB_DEVICE_NAME_MAX); > > > + up_read(&lists_rwsem); > > > +} > > > +EXPORT_SYMBOL(ib_device_get_name); > > > > I think we have to follow netdev and just rely on device_rename() > > being 'good enough'. > > > > Switch everything to use dev_name()/etc rather than try and do > > something like this so the responsibility is on the device core to > > keep this working, not us. > > > > Turns out I have a series for that for unrelated reasons.. > > And what should I do now with this knowledge? Maybe I can send it today.. Jason