Re: [PATCH 3.14 039/114] scsi: add a blacklist flag which enables VPD page inquiries

2014-09-15 Thread Sitsofe Wheeler
On Mon, Sep 15, 2014 at 12:25:39PM -0700, Greg Kroah-Hartman wrote:
> 3.14-stable review patch.  If anyone has any objections, please let me know.
> 
> --
> 
> From: "Martin K. Petersen" 
> 
> commit c1d40a527e885a40bb9ea6c46a1b1145d42b66a0 upstream.
> 
> Despite supporting modern SCSI features some storage devices continue to
> claim conformance to an older version of the SPC spec. This is done for
> compatibility with legacy operating systems.
> 
> Linux by default will not attempt to read VPD pages on devices that
> claim SPC-2 or older. Introduce a blacklist flag that can be used to
> trigger VPD page inquiries on devices that are known to support them.
> 
> Reported-by: KY Srinivasan 
> Tested-by: KY Srinivasan 
> Reviewed-by: KY Srinivasan 
> Signed-off-by: Martin K. Petersen 
> Signed-off-by: Christoph Hellwig 
> Signed-off-by: Greg Kroah-Hartman 
> 
> ---



> +#define BLIST_TRY_VPD_PAGES  0x1000 /* Attempt to read VPD pages */
>  #endif

Where is BLIST_TRY_VPD_PAGES being quirked on for Hyper-V's devices - is
there some later patch or some missing code I'm overlooking?

If the missing piece is f3cfabce7a2e92564d380de3aad4b43901fb7ae6, are
people sure it works? I'll retest but the last two times I tested it
(https://lkml.org/lkml/2014/7/23/615 and
https://lkml.org/lkml/2014/8/1/460 ) no one said anything after I said
thin provisioning wasn't enabled and James doesn't like quirking this on
every Hyper-V device (https://lkml.org/lkml/2014/7/24/393 )...

-- 
Sitsofe | http://sucs.org/~sits/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 3.14 039/114] scsi: add a blacklist flag which enables VPD page inquiries

2014-09-15 Thread Greg Kroah-Hartman
3.14-stable review patch.  If anyone has any objections, please let me know.

--

From: "Martin K. Petersen" 

commit c1d40a527e885a40bb9ea6c46a1b1145d42b66a0 upstream.

Despite supporting modern SCSI features some storage devices continue to
claim conformance to an older version of the SPC spec. This is done for
compatibility with legacy operating systems.

Linux by default will not attempt to read VPD pages on devices that
claim SPC-2 or older. Introduce a blacklist flag that can be used to
trigger VPD page inquiries on devices that are known to support them.

Reported-by: KY Srinivasan 
Tested-by: KY Srinivasan 
Reviewed-by: KY Srinivasan 
Signed-off-by: Martin K. Petersen 
Signed-off-by: Christoph Hellwig 
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/scsi/scsi_scan.c|4 +++-
 drivers/scsi/sd.c   |5 +
 include/scsi/scsi_device.h  |1 +
 include/scsi/scsi_devinfo.h |1 +
 4 files changed, 10 insertions(+), 1 deletion(-)

--- a/drivers/scsi/scsi_scan.c
+++ b/drivers/scsi/scsi_scan.c
@@ -950,7 +950,9 @@ static int scsi_add_lun(struct scsi_devi
 
sdev->eh_timeout = SCSI_DEFAULT_EH_TIMEOUT;
 
-   if (*bflags & BLIST_SKIP_VPD_PAGES)
+   if (*bflags & BLIST_TRY_VPD_PAGES)
+   sdev->try_vpd_pages = 1;
+   else if (*bflags & BLIST_SKIP_VPD_PAGES)
sdev->skip_vpd_pages = 1;
 
transport_configure_device(>sdev_gendev);
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -2686,6 +2686,11 @@ static void sd_read_write_same(struct sc
 
 static int sd_try_extended_inquiry(struct scsi_device *sdp)
 {
+   /* Attempt VPD inquiry if the device blacklist explicitly calls
+* for it.
+*/
+   if (sdp->try_vpd_pages)
+   return 1;
/*
 * Although VPD inquiries can go to SCSI-2 type devices,
 * some USB ones crash on receiving them, and the pages
--- a/include/scsi/scsi_device.h
+++ b/include/scsi/scsi_device.h
@@ -149,6 +149,7 @@ struct scsi_device {
unsigned skip_ms_page_8:1;  /* do not use MODE SENSE page 0x08 */
unsigned skip_ms_page_3f:1; /* do not use MODE SENSE page 0x3f */
unsigned skip_vpd_pages:1;  /* do not read VPD pages */
+   unsigned try_vpd_pages:1;   /* attempt to read VPD pages */
unsigned use_192_bytes_for_3f:1; /* ask for 192 bytes from page 0x3f */
unsigned no_start_on_add:1; /* do not issue start on add */
unsigned allow_restart:1; /* issue START_UNIT in error handler */
--- a/include/scsi/scsi_devinfo.h
+++ b/include/scsi/scsi_devinfo.h
@@ -34,4 +34,5 @@
 #define BLIST_SKIP_VPD_PAGES   0x400 /* Ignore SBC-3 VPD pages */
 #define BLIST_SCSI3LUN 0x800 /* Scan more than 256 LUNs
 for sequential scan */
+#define BLIST_TRY_VPD_PAGES0x1000 /* Attempt to read VPD pages */
 #endif


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 3.14 039/114] scsi: add a blacklist flag which enables VPD page inquiries

2014-09-15 Thread Greg Kroah-Hartman
3.14-stable review patch.  If anyone has any objections, please let me know.

--

From: Martin K. Petersen martin.peter...@oracle.com

commit c1d40a527e885a40bb9ea6c46a1b1145d42b66a0 upstream.

Despite supporting modern SCSI features some storage devices continue to
claim conformance to an older version of the SPC spec. This is done for
compatibility with legacy operating systems.

Linux by default will not attempt to read VPD pages on devices that
claim SPC-2 or older. Introduce a blacklist flag that can be used to
trigger VPD page inquiries on devices that are known to support them.

Reported-by: KY Srinivasan k...@microsoft.com
Tested-by: KY Srinivasan k...@microsoft.com
Reviewed-by: KY Srinivasan k...@microsoft.com
Signed-off-by: Martin K. Petersen martin.peter...@oracle.com
Signed-off-by: Christoph Hellwig h...@lst.de
Signed-off-by: Greg Kroah-Hartman gre...@linuxfoundation.org

---
 drivers/scsi/scsi_scan.c|4 +++-
 drivers/scsi/sd.c   |5 +
 include/scsi/scsi_device.h  |1 +
 include/scsi/scsi_devinfo.h |1 +
 4 files changed, 10 insertions(+), 1 deletion(-)

--- a/drivers/scsi/scsi_scan.c
+++ b/drivers/scsi/scsi_scan.c
@@ -950,7 +950,9 @@ static int scsi_add_lun(struct scsi_devi
 
sdev-eh_timeout = SCSI_DEFAULT_EH_TIMEOUT;
 
-   if (*bflags  BLIST_SKIP_VPD_PAGES)
+   if (*bflags  BLIST_TRY_VPD_PAGES)
+   sdev-try_vpd_pages = 1;
+   else if (*bflags  BLIST_SKIP_VPD_PAGES)
sdev-skip_vpd_pages = 1;
 
transport_configure_device(sdev-sdev_gendev);
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -2686,6 +2686,11 @@ static void sd_read_write_same(struct sc
 
 static int sd_try_extended_inquiry(struct scsi_device *sdp)
 {
+   /* Attempt VPD inquiry if the device blacklist explicitly calls
+* for it.
+*/
+   if (sdp-try_vpd_pages)
+   return 1;
/*
 * Although VPD inquiries can go to SCSI-2 type devices,
 * some USB ones crash on receiving them, and the pages
--- a/include/scsi/scsi_device.h
+++ b/include/scsi/scsi_device.h
@@ -149,6 +149,7 @@ struct scsi_device {
unsigned skip_ms_page_8:1;  /* do not use MODE SENSE page 0x08 */
unsigned skip_ms_page_3f:1; /* do not use MODE SENSE page 0x3f */
unsigned skip_vpd_pages:1;  /* do not read VPD pages */
+   unsigned try_vpd_pages:1;   /* attempt to read VPD pages */
unsigned use_192_bytes_for_3f:1; /* ask for 192 bytes from page 0x3f */
unsigned no_start_on_add:1; /* do not issue start on add */
unsigned allow_restart:1; /* issue START_UNIT in error handler */
--- a/include/scsi/scsi_devinfo.h
+++ b/include/scsi/scsi_devinfo.h
@@ -34,4 +34,5 @@
 #define BLIST_SKIP_VPD_PAGES   0x400 /* Ignore SBC-3 VPD pages */
 #define BLIST_SCSI3LUN 0x800 /* Scan more than 256 LUNs
 for sequential scan */
+#define BLIST_TRY_VPD_PAGES0x1000 /* Attempt to read VPD pages */
 #endif


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


Re: [PATCH 3.14 039/114] scsi: add a blacklist flag which enables VPD page inquiries

2014-09-15 Thread Sitsofe Wheeler
On Mon, Sep 15, 2014 at 12:25:39PM -0700, Greg Kroah-Hartman wrote:
 3.14-stable review patch.  If anyone has any objections, please let me know.
 
 --
 
 From: Martin K. Petersen martin.peter...@oracle.com
 
 commit c1d40a527e885a40bb9ea6c46a1b1145d42b66a0 upstream.
 
 Despite supporting modern SCSI features some storage devices continue to
 claim conformance to an older version of the SPC spec. This is done for
 compatibility with legacy operating systems.
 
 Linux by default will not attempt to read VPD pages on devices that
 claim SPC-2 or older. Introduce a blacklist flag that can be used to
 trigger VPD page inquiries on devices that are known to support them.
 
 Reported-by: KY Srinivasan k...@microsoft.com
 Tested-by: KY Srinivasan k...@microsoft.com
 Reviewed-by: KY Srinivasan k...@microsoft.com
 Signed-off-by: Martin K. Petersen martin.peter...@oracle.com
 Signed-off-by: Christoph Hellwig h...@lst.de
 Signed-off-by: Greg Kroah-Hartman gre...@linuxfoundation.org
 
 ---

snip

 +#define BLIST_TRY_VPD_PAGES  0x1000 /* Attempt to read VPD pages */
  #endif

Where is BLIST_TRY_VPD_PAGES being quirked on for Hyper-V's devices - is
there some later patch or some missing code I'm overlooking?

If the missing piece is f3cfabce7a2e92564d380de3aad4b43901fb7ae6, are
people sure it works? I'll retest but the last two times I tested it
(https://lkml.org/lkml/2014/7/23/615 and
https://lkml.org/lkml/2014/8/1/460 ) no one said anything after I said
thin provisioning wasn't enabled and James doesn't like quirking this on
every Hyper-V device (https://lkml.org/lkml/2014/7/24/393 )...

-- 
Sitsofe | http://sucs.org/~sits/
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/