From b0a93d96b2814c725161f91a4e35d0c29ec0f95b Mon Sep 17 00:00:00 2001 From: "K. Y. Srinivasan" Date: Tue, 16 Dec 2014 13:21:45 -0800 Subject: storvsc: force SPC-3 compliance on win8 and win8 r2 hosts On win8 and win8 r2 hosts force SPC-3 compliance for MSFT virtual disks. Ubuntu has been carrying a similar patch outside the tree for a while now. Starting with win10, the host will support SPC-3 compliance. Based on all the testing that has been done on win8 and win8 r2 hosts, we are comfortable claiming SPC-3 compliance on these hosts as well. This will enable TRIM support on these hosts. Suggested by: James Bottomley Signed-off-by: K. Y. Srinivasan Reviewed-by: Long Li Signed-off-by: Christoph Hellwig diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c index caa9f0e..efc6e44 100644 --- a/drivers/scsi/storvsc_drv.c +++ b/drivers/scsi/storvsc_drv.c @@ -1394,6 +1394,19 @@ static int storvsc_device_configure(struct scsi_device *sdevice) */ sdevice->sdev_bflags |= msft_blist_flags; + /* + * If the host is WIN8 or WIN8 R2, claim conformance to SPC-3 + * if the device is a MSFT virtual device. + */ + if (!strncmp(sdevice->vendor, "Msft", 4)) { + switch (vmbus_proto_version) { + case VERSION_WIN8: + case VERSION_WIN8_1: + sdevice->scsi_level = SCSI_SPC_3; + break; + } + } + return 0; } -- cgit v0.10.2