Messages in this thread | | | From | Parav Pandit <> | Subject | RE: [PATCH 3/4] mdev: Expose mdev alias in sysfs tree | Date | Tue, 27 Aug 2019 03:30:10 +0000 |
| |
> -----Original Message----- > From: Alex Williamson <alex.williamson@redhat.com> > Sent: Tuesday, August 27, 2019 7:24 AM > To: Parav Pandit <parav@mellanox.com> > Cc: Jiri Pirko <jiri@mellanox.com>; kwankhede@nvidia.com; > cohuck@redhat.com; davem@davemloft.net; kvm@vger.kernel.org; linux- > kernel@vger.kernel.org; netdev@vger.kernel.org > Subject: Re: [PATCH 3/4] mdev: Expose mdev alias in sysfs tree > > On Mon, 26 Aug 2019 15:41:18 -0500 > Parav Pandit <parav@mellanox.com> wrote: > > > Expose mdev alias as string in a sysfs tree so that such attribute can > > be used to generate netdevice name by systemd/udev or can be used to > > match other kernel objects based on the alias of the mdev. > > > > Signed-off-by: Parav Pandit <parav@mellanox.com> > > --- > > drivers/vfio/mdev/mdev_sysfs.c | 13 +++++++++++++ > > 1 file changed, 13 insertions(+) > > > > diff --git a/drivers/vfio/mdev/mdev_sysfs.c > > b/drivers/vfio/mdev/mdev_sysfs.c index 43afe0e80b76..59f4e3cc5233 > > 100644 > > --- a/drivers/vfio/mdev/mdev_sysfs.c > > +++ b/drivers/vfio/mdev/mdev_sysfs.c > > @@ -246,7 +246,20 @@ static ssize_t remove_store(struct device *dev, > > struct device_attribute *attr, > > > > static DEVICE_ATTR_WO(remove); > > > > +static ssize_t alias_show(struct device *device, > > + struct device_attribute *attr, char *buf) { > > + struct mdev_device *dev = mdev_from_dev(device); > > + > > + if (!dev->alias) > > + return -EOPNOTSUPP; > > Wouldn't it be better to not create the alias at all? Thanks, > In other subsystem such as netdev sysfs files are always created that returns either returns EOPNOTSUPP or attribute value. I guess overhead of create multiple groups or creating individual sysfs files outweigh the simplify of single group. I think its ok to keep it simple this way.
> Alex > > > + > > + return sprintf(buf, "%s\n", dev->alias); } static > > +DEVICE_ATTR_RO(alias); > > + > > static const struct attribute *mdev_device_attrs[] = { > > + &dev_attr_alias.attr, > > &dev_attr_remove.attr, > > NULL, > > };
| |