diff mbox

[Utopic,Trusty,SRU] mptfusion: enable no_write_same for vmware scsi disks

Message ID 1411742247-11049-1-git-send-email-chris.j.arges@canonical.com
State New
Headers show

Commit Message

Chris J Arges Sept. 26, 2014, 2:37 p.m. UTC
BugLink: http://bugs.launchpad.net/bugs/1371591

When using a virtual SCSI disk in a VMWare VM if blkdev_issue_zeroout is used
data can be improperly zeroed out using the mptfusion driver. This patch
disables write_same for this driver and the vmware subsystem_vendor which
ensures that manual zeroing out is used instead.

Cc: stable@vger.kernel.org
BugLink: http://bugs.launchpad.net/bugs/1371591
Reported-by: Bruce Lucas <bruce.lucas@mongodb.com>
Tested-by: Chris J Arges <chris.j.arges@canonical.com>
Signed-off-by: Chris J Arges <chris.j.arges@canonical.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
(cherry picked from http://git.infradead.org/users/hch/scsi-queue.git/
commit/4089b71cc820a426d601283c92fcd4ffeb5139c2)
Signed-off-by: Chris J Arges <chris.j.arges@canonical.com>
---
 drivers/message/fusion/mptspi.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Tim Gardner Sept. 26, 2014, 3:07 p.m. UTC | #1
This should be a SAUCE patch. Given the upstream discussion I doubt if
it'll get merged in its current form, but it does fix the outstanding
issue with little chance for regression.

rtg
Tim Gardner Sept. 27, 2014, 3:07 p.m. UTC | #2

Andy Whitcroft Sept. 29, 2014, 8:25 a.m. UTC | #3
On Fri, Sep 26, 2014 at 09:37:27AM -0500, Chris J Arges wrote:
> BugLink: http://bugs.launchpad.net/bugs/1371591
> 
> When using a virtual SCSI disk in a VMWare VM if blkdev_issue_zeroout is used
> data can be improperly zeroed out using the mptfusion driver. This patch
> disables write_same for this driver and the vmware subsystem_vendor which
> ensures that manual zeroing out is used instead.
> 
> Cc: stable@vger.kernel.org
> BugLink: http://bugs.launchpad.net/bugs/1371591
> Reported-by: Bruce Lucas <bruce.lucas@mongodb.com>
> Tested-by: Chris J Arges <chris.j.arges@canonical.com>
> Signed-off-by: Chris J Arges <chris.j.arges@canonical.com>
> Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> (cherry picked from http://git.infradead.org/users/hch/scsi-queue.git/
> commit/4089b71cc820a426d601283c92fcd4ffeb5139c2)
> Signed-off-by: Chris J Arges <chris.j.arges@canonical.com>
> ---
>  drivers/message/fusion/mptspi.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/message/fusion/mptspi.c b/drivers/message/fusion/mptspi.c
> index 49d1133..2fb90e2 100644
> --- a/drivers/message/fusion/mptspi.c
> +++ b/drivers/message/fusion/mptspi.c
> @@ -1420,6 +1420,11 @@ mptspi_probe(struct pci_dev *pdev, const struct pci_device_id *id)
>  		goto out_mptspi_probe;
>          }
>  
> +	/* VMWare emulation doesn't properly implement WRITE_SAME
> +	 */
> +	if (pdev->subsystem_vendor == 0x15AD)
> +		sh->no_write_same = 1;
> +
>  	spin_lock_irqsave(&ioc->FreeQlock, flags);
>  
>  	/* Attach the SCSI Host to the IOC structure
> -- 

Looks to be what hch finally is applying.  Looks simple and safe, and
well contained.

Acked-by: Andy Whitcroft <apw@canonical.com>

-apw
diff mbox

Patch

diff --git a/drivers/message/fusion/mptspi.c b/drivers/message/fusion/mptspi.c
index 49d1133..2fb90e2 100644
--- a/drivers/message/fusion/mptspi.c
+++ b/drivers/message/fusion/mptspi.c
@@ -1420,6 +1420,11 @@  mptspi_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 		goto out_mptspi_probe;
         }
 
+	/* VMWare emulation doesn't properly implement WRITE_SAME
+	 */
+	if (pdev->subsystem_vendor == 0x15AD)
+		sh->no_write_same = 1;
+
 	spin_lock_irqsave(&ioc->FreeQlock, flags);
 
 	/* Attach the SCSI Host to the IOC structure