> -----Original Message----- > From: Cornelia Huck <cohuck@xxxxxxxxxx> > Sent: Tuesday, August 27, 2019 3:54 PM > To: Parav Pandit <parav@xxxxxxxxxxxx> > Cc: alex.williamson@xxxxxxxxxx; Jiri Pirko <jiri@xxxxxxxxxxxx>; > kwankhede@xxxxxxxxxx; davem@xxxxxxxxxxxxx; kvm@xxxxxxxxxxxxxxx; linux- > kernel@xxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx > Subject: Re: [PATCH 1/4] mdev: Introduce sha1 based mdev alias > > On Mon, 26 Aug 2019 15:41:16 -0500 > Parav Pandit <parav@xxxxxxxxxxxx> wrote: > > > Whenever a parent requests to generate mdev alias, generate a mdev > > alias. > > It is an optional attribute that parent can request to generate for > > each of its child mdev. > > mdev alias is generated using sha1 from the mdev name. > > Maybe add some motivation here as well? > > "Some vendor drivers want an identifier for an mdev device that is shorter than > the uuid, due to length restrictions in the consumers of that identifier. > > Add a callback that allows a vendor driver to request an alias of a specified > length to be generated (via sha1) for an mdev device. If generated, that alias is > checked for collisions." > I did described the motivation in the cover letter with example and this design discussion thread. I will include above summary in v1. > What about: > > * @get_alias_length: optional callback to specify length of the alias to create > * Returns unsigned integer: length of the alias to be created, > * 0 to not create an alias > Ack. > I also think it might be beneficial to add a device parameter here now (rather > than later); that seems to be something that makes sense. > Without showing the use, it shouldn't be added. > > * Parent device that support mediated device should be registered with > mdev > > * module with mdev_parent_ops structure. > > **/ > > @@ -92,6 +95,7 @@ struct mdev_parent_ops { > > long (*ioctl)(struct mdev_device *mdev, unsigned int cmd, > > unsigned long arg); > > int (*mmap)(struct mdev_device *mdev, struct vm_area_struct > *vma); > > + unsigned int (*get_alias_length)(void); > > }; > > > > /* interface for exporting mdev supported type attributes */