Re: [PATCH rdma-core 2/5] kernel-boot: Perform device rename to make stable names

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Mar 10, 2019 at 09:08:30AM +0200, Leon Romanovsky wrote:
> On Sat, Mar 09, 2019 at 08:24:43PM -0400, Jason Gunthorpe wrote:
> > On Fri, Mar 08, 2019 at 10:13:48PM +0200, Leon Romanovsky wrote:
> >
> > > > > +static int by_pci(struct data *d)
> > > > > +{
> > > > > +	char *path, *token, *pci;
> > > > > +	char buf[256];
> > > > > +	long p, s, f;
> > > > > +	ssize_t len;
> > > > > +	int ret;
> > > > > +
> > > > > +	ret = asprintf(&path, "/sys/class/infiniband/%s", d->curr);
> > > > > +	if (ret == -1) {
> > > > > +		path = NULL;
> > > > > +		ret = -ENOMEM;
> > > > > +		goto out;
> > > > > +	}
> > > > > +
> > > > > +	len = readlink(path, buf, sizeof(buf)-1);
> > > > > +	if (len == -1) {
> > > > > +		ret = -EINVAL;
> > > > > +		goto out;
> > > > > +	}
> > > > > +	pci = buf + strlen("../../devices/pci0000:00/");
> > > >
> > > > This is really sketchy.
> > > >
> > > > Do
> > > >   dev_path = realpath(/sys/class/infiniband/%s/device/)
> > > >
> > > > Check that
> > > >
> > > > stat(dev_path + /subsystem).st_inode == stat("/sys/bus/pci").st_inode
> > > >
> > > > To confirm PCI
> > > >
> > > > Strip the last path off to get the domain:B:D.f:
> > > >
> > > > basename(dev_path)
> > >
> > > The current implementation is needed for RXE devices connected in VM
> > > over virtio devices, in such case your "basename" will return
> > > virtio_net.
> >
> > Which is right, RXE isn't a PCI device and shouldn't use PCI naming at
> > all.
> >
> > The check on the subsystem should exclude it entirely.
> 
> But why should we exclude it? At the end, RXE is connected to some
> device and this device will have some sort of PCI. Why don't you want to
> use this knowledge to ensure that every time "rxe add" will be called we
> will see same name?

rxe doesn't need this and shouldn't use it. The rxe name is specified
during 'rdma link add' and should not be changed by udev.

Jason



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux