Re: [PATCH v6 1/5] iommu: Return -EMEDIUMTYPE for incompatible domain and device/group

From: Jason Gunthorpe
Date: Thu Sep 08 2022 - 12:15:11 EST

On Thu, Sep 08, 2022 at 03:28:22PM +0200, Joerg Roedel wrote:
> > It has been 3 months since EMEDIUMTYPE was first proposed and 6
> > iterations of the series, don't you think it is a bit late in the game
> > to try to experiment with rust error handling idioms?
> If I am not mistaken, I am the person who gets blamed when crappy IOMMU
> code is sent upstream. So it is also up to me to decide in which state
> and how close to merging a given patch series is an whether it is
> already 'late in the game'.

I don't think the maintainer is the one who gets blamed. The community
is responsible as a collective group for it's decisions. The
maintainer is the leader of the community, responsible to foster it,
and contributes their guidance, but doesn't bare an unlimited
responsibility for what is merged.

In a case like this I am the advocate, Nicolin wrote the patches,
Kevin reviewed, Alex ack'd them - we as a group are ultimately
responsible to repair, defend, or whatever is needed.

> I am wondering if this can be solved by better defining what the return
> codes mean and adjust the call-back functions to match the definition.
> Something like:
> -ENODEV : Device not mapped my an IOMMU
> -EBUSY : Device attached and domain can not be changed
> -EINVAL : Device and domain are incompatible
> ...

Yes, this was gone over in a side thread the pros/cons, so lets do
it. Nicolin will come with something along these lines.