> -----Original Message----- > From: Sitsofe Wheeler [mailto:sits...@gmail.com] > Sent: Monday, October 20, 2014 9:46 PM > To: KY Srinivasan > Cc: Jeff Leung; James Bottomley; Christoph Hellwig; Haiyang Zhang; Christoph > Hellwig; Hannes Reinecke; linux-scsi@vger.kernel.org; linux- > ker...@vger.kernel.org; de...@linuxdriverproject.org > Subject: Re: [PATCH 0/3] scsi: Add Hyper-V logical block provisioning quirks > > On Sun, Oct 12, 2014 at 01:21:01AM +0000, KY Srinivasan wrote: > > > > > -----Original Message----- > > > From: Jeff Leung [mailto:jle...@v10networks.ca] > > > Sent: Saturday, October 11, 2014 1:22 PM > > > > > > > On the current release of Windows (windows 10), we are advertising > > > > SPC3 compliance. > > > > We are ok with declaring compliance to SPC3 in our drivers. > > > If you are going to declare SPC3 compliance in the drivers, are you > > > going to put in checks to ensure that SPC-3 compliance doesn't get > > > accidentally enabled for hypervisors below Win10? > > > > > > I do know for a fact that Ubuntu's kernels already force SPC3 > > > compliance to enable specific features such as TRIM on earlier > > > versions of Hyper-V (Namely Hyper-V 2012 and 2012 R2). > > You are right; Ubuntu has been carrying a patch that was doing just > > this and this has been working without any issues on many earlier > > versions of Windows. (2012 and 2012 R2). On windows 10 we don't need > > any changes in the Linux driver as the host itself is advertising SPC3 > > compliance. Based on the testing we have done with Ubuntu, we are > > comfortable picking up that patch. > > OK this seems to be the patch currently carried by Ubuntu: > > From ff2c5fa3fa9adf0b919b9425e71a8ba044c31a7d Mon Sep 17 00:00:00 2001 > From: Andy Whitcroft <a...@canonical.com> > Date: Fri, 13 Sep 2013 17:49:16 +0100 > Subject: [PATCH] scsi: hyper-v storsvc switch up to SPC-3 > > Suggested-By: James Bottomley > <james.bottom...@hansenpartnership.com> > Signed-off-by: Andy Whitcroft <a...@canonical.com> > --- > drivers/scsi/storvsc_drv.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c index > 9969fa1..3903c8a 100644 > --- a/drivers/scsi/storvsc_drv.c > +++ b/drivers/scsi/storvsc_drv.c > @@ -1441,6 +1441,14 @@ static int storvsc_device_configure(struct > scsi_device *sdevice) > > sdevice->no_write_same = 1; > > + /* > + * hyper-v lies about its capabilities indicating it is only SPC-2 > + * compliant, but actually implements the core SPC-3 features. > + * If we pretend to be SPC-3, we send RC16 which activates trim and > + * will query the appropriate VPD pages to enable trim. > + */ > + sdevice->scsi_level = SCSI_SPC_3; > + > return 0; > } > > -- > 1.7.9.5 > > (Downloaded from > http://kernel.ubuntu.com/git?p=jsalisbury/stable/trusty/ubuntu- > trusty.git;a=patch;h=ff2c5fa3fa9adf0b919b9425e71a8ba044c31a7d > ). > > I think it's unwise to override the scsi_level at this particular point > because > you are going to do it for ALL Hyper-V "disks" (perhaps all Hyper-V SCSI > devices?)...
I agree with you. I was only referring virtual hard disks (VHDs) being presented to the guest and not pass-through devices. Furthermore, we would fix up the scsi conformance level based on the version of the host we are running on. Regards, K. Y > > Here's the SCSI inquiry information reported by a USB 2 hard disk being > passed passed-through by one of my 2012 R2 hosts: > > # sg_inq /dev/sdc > standard INQUIRY: > PQual=0 Device_type=0 RMB=0 version=0x02 [SCSI-2] > [AERC=0] [TrmTsk=0] NormACA=0 HiSUP=0 Resp_data_format=1 > SCCS=0 ACC=0 TPGS=0 3PC=0 Protect=0 [BQue=0] > EncServ=0 MultiP=0 [MChngr=0] [ACKREQQ=0] Addr16=0 > [RelAdr=0] WBus16=0 Sync=0 Linked=0 [TranDis=0] CmdQue=0 > length=36 (0x24) Peripheral device type: disk > Vendor identification: MDT MD50 > Product identification: 00AAKS-00TMA0 > Product revision level: > > Is it OK to replace a scsi_level of SCSI-2 with SCSI_SPC_3? Additionally is it > also OK to force SCSI_SPC_3 on Hyper-V 2008? > > > > > NryزXvؖ){nlj{zX}zj:v zZzf~zwڢ)jyA > > > > > > > > i > > N?????r??y????b?X??ǧv?^?){.n?+????{????zX????ܨ}???Ơz?&j:+v??? > ????zZ+??+zf???h???~????i???z??w?????????&?)ߢf??^jǫy?m??@A?a?? > ? > > 0??h???i > > ^^^ Where do these characters come from? I've occasionally seen them on > emails from other Microsoft folks posting to LKML too... > > -- > Sitsofe | http://sucs.org/~sits/