aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/storvsc_drv.c
diff options
context:
space:
mode:
authorKeith Mange <keith.mange@microsoft.com>2015-08-13 08:43:51 -0700
committerJames Bottomley <JBottomley@Odin.com>2015-08-26 22:41:36 -0700
commitb95f5be09069526cf53705acbc1e22600f3f550b (patch)
tree96653a314e00ef30e095dd15020fbeda3f5904b1 /drivers/scsi/storvsc_drv.c
parentstorvsc: use storage protocol version to determine storage capabilities (diff)
downloadlinux-dev-b95f5be09069526cf53705acbc1e22600f3f550b.tar.xz
linux-dev-b95f5be09069526cf53705acbc1e22600f3f550b.zip
storvsc: Allow write_same when host is windows 10
Allow WRITE_SAME for Windows10 and above hosts. Tested-by: Alex Ng <alexng@microsoft.com> Signed-off-by: Keith Mange <keith.mange@microsoft.com> Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Signed-off-by: James Bottomley <JBottomley@Odin.com>
Diffstat (limited to 'drivers/scsi/storvsc_drv.c')
-rw-r--r--drivers/scsi/storvsc_drv.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
index 97219a0bb280..cbb1bd1e020c 100644
--- a/drivers/scsi/storvsc_drv.c
+++ b/drivers/scsi/storvsc_drv.c
@@ -1480,7 +1480,8 @@ static int storvsc_device_configure(struct scsi_device *sdevice)
/*
* If the host is WIN8 or WIN8 R2, claim conformance to SPC-3
- * if the device is a MSFT virtual device.
+ * if the device is a MSFT virtual device. If the host is
+ * WIN10 or newer, allow write_same.
*/
if (!strncmp(sdevice->vendor, "Msft", 4)) {
switch (vmstor_proto_version) {
@@ -1489,6 +1490,9 @@ static int storvsc_device_configure(struct scsi_device *sdevice)
sdevice->scsi_level = SCSI_SPC_3;
break;
}
+
+ if (vmstor_proto_version >= VMSTOR_PROTO_VERSION_WIN10)
+ sdevice->no_write_same = 0;
}
return 0;