[PATCH 1/1] Drivers: scsi: storvsc: Don't pass ATA_16 command to the host
kys at microsoft.com
Mon Mar 5 02:29:11 UTC 2012
> -----Original Message-----
> From: James Bottomley [mailto:James.Bottomley at HansenPartnership.com]
> Sent: Sunday, March 04, 2012 9:49 AM
> To: KY Srinivasan
> Cc: Christoph Hellwig; gregkh at linuxfoundation.org; linux-
> kernel at vger.kernel.org; devel at linuxdriverproject.org;
> virtualization at lists.osdl.org; ohering at suse.com; linux-scsi at vger.kernel.org;
> Haiyang Zhang
> Subject: RE: [PATCH 1/1] Drivers: scsi: storvsc: Don't pass ATA_16 command to
> the host
> On Sun, 2012-03-04 at 14:23 +0000, KY Srinivasan wrote:
> > > -----Original Message-----
> > > From: Christoph Hellwig [mailto:hch at infradead.org]
> > > Sent: Sunday, March 04, 2012 4:12 AM
> > > To: KY Srinivasan
> > > Cc: 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;
> > > Haiyang Zhang
> > > Subject: Re: [PATCH 1/1] Drivers: scsi: storvsc: Don't pass ATA_16 command to
> > > the host
> > >
> > > On Fri, Mar 02, 2012 at 12:49:07PM -0800, K. Y. Srinivasan wrote:
> > > > Windows hosts don't handle the ATA_16 command; don't pass it to the
> > >
> > > Most devices don't handle it, and answer with and unsupported opcode
> > > sense reason. If hyperv iis buggy enough to crap out on it please add
> > > a comment explaining that.
> > The host does not "crap out", it does return an error code but it is not
> "unsupported opcode".
> > The sense reason that comes back is a generic error SRB_STATUS code. It is
> easier for me to filter the
> > command on the outgoing side as opposed to dealing with a generic error code
> that is coming back from
> > the host.
> That's the wrong thing to do ... you need to unwrap the error code.
I will see if this is even possible based on the current error codes I get back.
> The reason being I presume it's not impossible for Windows to host a
> device supporting ATA_16 and there are signs that this is going to be
> necessary to prevent data corruption on some USB devices ... if you just
> filter the command without checking if the host supports it, you're
> going to end up perpetuating the corruption problem.
We are talking of virtual block devices exposed to Linux guests running on a Windows
hosts. I don't think they will ever need to support ATA_16 command on these virtual block
devices. I will however confirm with the Windows team.
More information about the devel