Re: [PATCH v3] mptfusion: enable no_write_same for vmware scsi disks

2014-09-25 Thread Christoph Hellwig
Thanks, applied to drivers-for-3.18 with Cc to stable.
--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3] mptfusion: enable no_write_same for vmware scsi disks

2014-09-24 Thread Christoph Hellwig
On Tue, Sep 23, 2014 at 07:28:04PM -0400, Martin K. Petersen wrote:
  Chris == Chris J Arges chris.j.ar...@canonical.com writes:
 
 Chris 1) Does this workaround make sense? Perhaps there is an easier
 Chrisway?
 
 One option is to ship a udev rule that disables write same on VMware
 disks. However, I don't have a fundamental problem having a workaround
 for this in the kernel.

This sounds way to scary to me.

I'd like to add Chris latests patch and Cc it to stable.

Martin, given that you're ok with it can you give me a review?
--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3] mptfusion: enable no_write_same for vmware scsi disks

2014-09-24 Thread Martin K. Petersen
 Christoph == Christoph Hellwig h...@infradead.org writes:

Christoph I'd like to add Chris latests patch and Cc it to stable.

Christoph Martin, given that you're ok with it can you give me a

Reviewed-by: Martin K. Petersen martin.peter...@oracle.com

-- 
Martin K. Petersen  Oracle Linux Engineering
--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v3] mptfusion: enable no_write_same for vmware scsi disks

2014-09-23 Thread Chris J Arges
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.

BugLink: http://bugs.launchpad.net/bugs/1371591
Reported-by: Bruce Lucas bruce.lu...@mongodb.com
Tested-by: Chris J Arges chris.j.ar...@canonical.com
Signed-off-by: Chris J Arges chris.j.ar...@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 787933d..613231c 100644
--- a/drivers/message/fusion/mptspi.c
+++ b/drivers/message/fusion/mptspi.c
@@ -1419,6 +1419,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
-- 
1.9.1

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3] mptfusion: enable no_write_same for vmware scsi disks

2014-09-23 Thread Chris J Arges
On 09/23/2014 09:22 AM, Chris J Arges wrote:
 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.
 

Please hold off on applying this, I'm pursuing a different approach to
solving this bug that may be more optimal than adding this quirk.
Thanks,
--chris j arges


 BugLink: http://bugs.launchpad.net/bugs/1371591
 Reported-by: Bruce Lucas bruce.lu...@mongodb.com
 Tested-by: Chris J Arges chris.j.ar...@canonical.com
 Signed-off-by: Chris J Arges chris.j.ar...@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 787933d..613231c 100644
 --- a/drivers/message/fusion/mptspi.c
 +++ b/drivers/message/fusion/mptspi.c
 @@ -1419,6 +1419,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
 
--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3] mptfusion: enable no_write_same for vmware scsi disks

2014-09-23 Thread Chris J Arges
On 09/23/2014 09:22 AM, Chris J Arges wrote:
 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.
 
 BugLink: http://bugs.launchpad.net/bugs/1371591
 Reported-by: Bruce Lucas bruce.lu...@mongodb.com
 Tested-by: Chris J Arges chris.j.ar...@canonical.com
 Signed-off-by: Chris J Arges chris.j.ar...@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 787933d..613231c 100644
 --- a/drivers/message/fusion/mptspi.c
 +++ b/drivers/message/fusion/mptspi.c
 @@ -1419,6 +1419,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
 

As a workaround one can do the following:

# Set the scsi disk max_write_same_blocks to 0 to disable write_same.
(Your paths may vary...)
echo 0 
/sys/devices/pci:00/:00:10.0/host32/target32:0:0/32:0:0:0/scsi_disk/32:0:0:0/max_write_same_blocks

# Force the dm device to reload (thus calling dm_table_set_restrictions
and checking for the new max_write_same_blocks value)
dmsetup table /dev/dm-0 save
dmsetup suspend /dev/dm-0; dmsetup reload /dev/dm-0 save; dmsetup resume
/dev/dm-0

# Now the dm device shows write_same_max_bytes as 0
cat /sys/block/dm-0/queue/write_same_max_bytes

# Run the test case in the original bug, it now passes.

So a few questions:
1) Does this workaround make sense? Perhaps there is an easier way?
2) Do we expect changing max_write_same_blocks at the scsi_disk level to
propagate the right write_same flags to other layers such as dm?
3) In light of this workaround, does this patch still make sense? Would
there be a better layer to fix this?

Thanks,
--chris j arges



--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3] mptfusion: enable no_write_same for vmware scsi disks

2014-09-23 Thread Martin K. Petersen
 Chris == Chris J Arges chris.j.ar...@canonical.com writes:

Chris 1) Does this workaround make sense? Perhaps there is an easier
Chrisway?

One option is to ship a udev rule that disables write same on VMware
disks. However, I don't have a fundamental problem having a workaround
for this in the kernel.

Chris 2) Do we expect changing max_write_same_blocks at the scsi_disk
Chrislevel to propagate the right write_same flags to other layers
Chrissuch as dm?

No, there's currently no way to communicate that the underlying topology
has changed.

-- 
Martin K. Petersen  Oracle Linux Engineering
--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html