Re: [PATCH v2 1/2] vfio/mdev: add version attribute for mdev device

Dr. David Alan Gilbert
2019-05-09T15:49:20Z

* Cornelia Huck (cohuck@redhat.com) wrote:
> On Tue, 7 May 2019 15:18:26 -0600
> Alex Williamson <alex.williamson@redhat.com> wrote:
>
> > On Sun, 5 May 2019 21:49:04 -0400
> > Yan Zhao <yan.y.zhao@intel.com> wrote:
>
> > > + Errno:
> > > + If vendor driver wants to claim a mdev device incompatible to all other mdev
> > > + devices, it should not register version attribute for this mdev device. But if
> > > + a vendor driver has already registered version attribute and it wants to claim
> > > + a mdev device incompatible to all other mdev devices, it needs to return
> > > + -ENODEV on access to this mdev device's version attribute.
> > > + If a mdev device is only incompatible to certain mdev devices, write of
> > > + incompatible mdev devices's version strings to its version attribute should
> > > + return -EINVAL;
> >
> > I think it's best not to define the specific errno returned for a
> > specific situation, let the vendor driver decide, userspace simply
> > needs to know that an errno on read indicates the device does not
> > support migration version comparison and that an errno on write
> > indicates the devices are incompatible or the target doesn't support
> > migration versions.
>
> I think I have to disagree here: It's probably valuable to have an
> agreed error for 'cannot migrate at all' vs 'cannot migrate between
> those two particular devices'. Userspace might want to do different
> things (e.g. trying with different device pairs).

Trying to stuff these things down an errno seems a bad idea; we can't
get much information that way.

Dave

--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK