[trusty,1/1] UBUNTU: SAUCE: storvsc: force SPC-3 compliance on win8 and win8 r2 hosts
diff mbox

Message ID 1421064867-9241-2-git-send-email-apw@canonical.com
State New
Headers show

Commit Message

Andy Whitcroft Jan. 12, 2015, 12:14 p.m. UTC
From: "K. Y. Srinivasan" <kys@microsoft.com>

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 <James.Bottomley@HansenPartnership.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Reviewed-by: Long Li <longli@microsoft.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>

[pending for v3.20 in the scsi-drivers tree]
BugLink: http://bugs.launchpad.net/bugs/1406867
Signed-off-by: Andy Whitcroft <apw@canonical.com>
---
 drivers/scsi/storvsc_drv.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

Comments

Brad Figg Jan. 12, 2015, 5:37 p.m. UTC | #1
On Mon, Jan 12, 2015 at 12:14:25PM +0000, Andy Whitcroft wrote:
> From: "K. Y. Srinivasan" <kys@microsoft.com>
> 
> 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 <James.Bottomley@HansenPartnership.com>
> Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
> Reviewed-by: Long Li <longli@microsoft.com>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> 
> [pending for v3.20 in the scsi-drivers tree]
> BugLink: http://bugs.launchpad.net/bugs/1406867
> Signed-off-by: Andy Whitcroft <apw@canonical.com>
> ---
>  drivers/scsi/storvsc_drv.c | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
> index a11e5e9..1e1256c 100644
> --- a/drivers/scsi/storvsc_drv.c
> +++ b/drivers/scsi/storvsc_drv.c
> @@ -1459,6 +1459,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;
>  }
>  
> -- 
> 2.1.4
> 
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team

Applied to Trusty master-next

Patch
diff mbox

diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
index a11e5e9..1e1256c 100644
--- a/drivers/scsi/storvsc_drv.c
+++ b/drivers/scsi/storvsc_drv.c
@@ -1459,6 +1459,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;
 }