On Thu, 6 Feb 2020 22:45:03 +0100 Eric Farman <far...@linux.ibm.com> wrote:
> From: Farhan Ali <al...@linux.ibm.com> > > EIO is returned by vfio-ccw mediated device when the backing > host subchannel is not operational anymore. So return cc=3 > back to the guest, rather than returning a unit check. > This way the guest can take appropriate action such as > issue an 'stsch'. > > Signed-off-by: Farhan Ali <al...@linux.ibm.com> > Signed-off-by: Eric Farman <far...@linux.ibm.com> > --- > > Notes: > v1->v2: [EF] > - Add s-o-b > - [Seems the discussion on v1 centered on the return code > set in the kernel, rather than anything that needs to > change here, unless I've missed something.] I've stared at this and at the kernel code for some time again; and I'm not sure if "return -EIO == not operational" is even true. That said, I'm not sure a unit check is the right response, either. The only thing I'm sure about is that the kernel code needs some review of return codes and some documentation... > > hw/vfio/ccw.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hw/vfio/ccw.c b/hw/vfio/ccw.c > index 50cc2ec75c..19144ecfc7 100644 > --- a/hw/vfio/ccw.c > +++ b/hw/vfio/ccw.c > @@ -114,6 +114,7 @@ again: > return IOINST_CC_BUSY; > case -ENODEV: > case -EACCES: > + case -EIO: > return IOINST_CC_NOT_OPERATIONAL; > case -EFAULT: > default: