[PATCH RESEND 1/1] Drivers: scsi: storvsc: Properly handle errors from the host

James Bottomley James.Bottomley at HansenPartnership.com
Wed Apr 25 08:53:19 UTC 2012


On Wed, 2012-04-18 at 12:38 +0000, KY Srinivasan wrote:
> 
> > -----Original Message-----
> > From: KY Srinivasan
> > Sent: Tuesday, April 10, 2012 11:14 AM
> > To: KY Srinivasan; gregkh at linuxfoundation.org; linux-kernel at vger.kernel.org;
> > devel at linuxdriverproject.org; virtualization at lists.osdl.org; ohering at suse.com;
> > jbottomley at parallels.com; hch at infradead.org; linux-scsi at vger.kernel.org;
> > apw at canonical.com
> > Subject: RE: [PATCH RESEND 1/1] Drivers: scsi: storvsc: Properly handle errors
> > from the host
> > 
> > 
> > 
> > > -----Original Message-----
> > > From: K. Y. Srinivasan [mailto:kys at microsoft.com]
> > > Sent: Thursday, April 05, 2012 3:27 PM
> > > To: gregkh at linuxfoundation.org; linux-kernel at vger.kernel.org;
> > > devel at linuxdriverproject.org; virtualization at lists.osdl.org; ohering at suse.com;
> > > jbottomley at parallels.com; hch at infradead.org; linux-scsi at vger.kernel.org;
> > > apw at canonical.com
> > > Cc: KY Srinivasan
> > > Subject: [PATCH RESEND 1/1] Drivers: scsi: storvsc: Properly handle errors from
> > > the host
> > >
> > > If the host returns error for pass through commands, deal with them
> > > appropriately. I would like to thank James for patiently helping
> > > me with this patch.
> > 
> > James,
> > 
> > Thank you for suggesting the fix here. I hope this is what you were looking for.
> > 
> > Regards,
> > 
> > K. Y

OK, I have the patch, but the change log is a bit rubbish.  I changed it
to

Hyper-V cannot process some commands like ATA_12 and ATA_16. It also returns a
very generic error when this happens (SRB_STATUS_ERROR).  Most of the time we
treat SRB_STATUS_ERROR as DID_TARGET_FAILURE which causes error handler retry,
but in the case of pass through commands, they'll never succeed (and the error
handler will offline the device), so put a discriminating block in the command
completion routing and send the SRB_STATUS_ERROR upwards with DID_PASSTHROUGH
for commands we know should not be retried.

James





More information about the devel mailing list