public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] hpsa: disable volume status check for older controller
@ 2017-08-02 15:05 Hannes Reinecke
  2017-08-04 16:26 ` Meelis Roos
  0 siblings, 1 reply; 5+ messages in thread
From: Hannes Reinecke @ 2017-08-02 15:05 UTC (permalink / raw)
  To: Meelis Roos
  Cc: Don Brace, Martin K. Petersen, Christoph Hellwig, linux-scsi,
	Hannes Reinecke, Hannes Reinecke

Older Controller might not support volume status, so disable
it if 'hpsa_allow_any' is present.

Signed-off-by: Hannes Reinecke <hare@suse.com>
---
 drivers/scsi/hpsa.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index 2cf6ccc..bd063b8 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -3831,6 +3831,17 @@ static int hpsa_update_device_info(struct ctlr_info *h,
 		if (h->fw_support & MISC_FW_RAID_OFFLOAD_BASIC)
 			hpsa_get_ioaccel_status(h, scsi3addr, this_device);
 		volume_offline = hpsa_volume_offline(h, scsi3addr);
+		if (volume_offline == HPSA_VPD_LV_STATUS_UNSUPPORTED &&
+		    hpsa_allow_any) {
+			/*
+			 * Older controllers do not support
+			 * volume status
+			 */
+			dev_info(&h->pdev->dev,
+				 "C0:T%d:L%d Volume status not available, assuming online.\n",
+				 this_device->target, this_device->lun);
+			volume_offline = 0;
+		}
 		this_device->volume_offline = volume_offline;
 		if (volume_offline == HPSA_LV_FAILED) {
 			rc = HPSA_LV_FAILED;
-- 
1.8.5.6

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] hpsa: disable volume status check for older controller
  2017-08-02 15:05 [PATCH] hpsa: disable volume status check for older controller Hannes Reinecke
@ 2017-08-04 16:26 ` Meelis Roos
  2017-08-04 16:36   ` Hannes Reinecke
  0 siblings, 1 reply; 5+ messages in thread
From: Meelis Roos @ 2017-08-04 16:26 UTC (permalink / raw)
  To: Hannes Reinecke
  Cc: Don Brace, Martin K. Petersen, Christoph Hellwig, linux-scsi,
	Hannes Reinecke

> Older Controller might not support volume status, so disable
> it if 'hpsa_allow_any' is present.

It makes my DL380G4 boot with hpsa.hpsa_allow_any=1 and it seems to 
work. Howevere, there are multiole verbose dmesg entries about failing 
things:

    0.267224] HP HPSA Driver (v 3.4.18-0)
[    0.267351] hpsa 0000:04:03.0: unsupported board ID: 0x40910e11
[    0.267494] hpsa 0000:04:03.0: unsupported board ID: 0x40910e11
[    0.267695] hpsa 0000:04:03.0: PCI IRQ 51 -> rerouted to legacy IRQ 19
[    0.267889] hpsa 0000:04:03.0: Physical aborts not supported
[    0.268036] hpsa 0000:04:03.0: Logical aborts not supported
[    0.268163] hpsa 0000:04:03.0: HP SSD Smart Path aborts not supported
[    0.448240] scsi host0: hpsa
[    0.452228] hpsa 0000:04:03.0: report luns requested format 2, got 0
[    0.453950] hpsa 0000:04:03.0: hpsa0: hpsa_update_device_info: can't get device id for host 0:C0:T0:L0       Direct-Access           MAN3735MC       
[    0.454312] hpsa 0000:04:03.0: SCSI status: LUN:0000000000000000 CDB:26000000000015000801000000000000
[    0.454525] hpsa 0000:04:03.0: SCSI Status = 02, Sense key = 0x05, ASC = 0x3a, ASCQ = 0x00
[    0.458100] hpsa 0000:04:03.0: hpsa0: hpsa_update_device_info: can't get device id for host 0:C0:T-1:L-1     Direct-Access           MAP3735NC       
[    0.458453] hpsa 0000:04:03.0: SCSI status: LUN:0000000000000000 CDB:26000100000015000801000000000000
[    0.458668] hpsa 0000:04:03.0: SCSI Status = 02, Sense key = 0x05, ASC = 0x3a, ASCQ = 0x00
[    0.485980] hpsa 0000:04:03.0: C0:T-1:L-1 Volume status not available, assuming online.
[    0.486807] hpsa 0000:04:03.0: scsi 0:0:0:0: masked Direct-Access     FUJITSU  MAN3735MC        PHYS DRV SSDSmartPathCap- En- Exp=0
[    0.487020] hpsa 0000:04:03.0: scsi 0:0:1:0: masked Direct-Access     FUJITSU  MAP3735NC        PHYS DRV SSDSmartPathCap- En- Exp=0
[    0.487229] hpsa 0000:04:03.0: scsi 0:1:0:0: added Direct-Access     HP       LOGICAL VOLUME   RAID-1(+0) SSDSmartPathCap- En- Exp=1
[    0.487440] hpsa 0000:04:03.0: scsi 0:3:0:0: added RAID              HP       SA6i             controller SSDSmartPathCap- En- Exp=1
[    0.487997] scsi 0:1:0:0: Direct-Access     HP       LOGICAL VOLUME   2.84 PQ: 0 ANSI: 4
[    0.488989] scsi 0:3:0:0: RAID              HP       SA6i             2.84 PQ: 0 ANSI: 0
[    0.489390] hpsa 0000:0b:04.0: unsupported board ID: 0x409c0e11
[    0.489532] hpsa 0000:0b:04.0: unsupported board ID: 0x409c0e11
[    0.489870] hpsa 0000:0b:04.0: Physical aborts not supported
[    0.489995] hpsa 0000:0b:04.0: Logical aborts not supported
[    0.490118] hpsa 0000:0b:04.0: HP SSD Smart Path aborts not supported
[    0.628221] scsi host1: hpsa
[    0.632143] hpsa 0000:0b:04.0: report luns requested format 2, got 0
[    0.633498] hpsa 0000:0b:04.0: scsi 1:3:0:0: added RAID              HP       SA6400           controller SSDSmartPathCap- En- Exp=1
[    0.634246] scsi 1:0:0:0: RAID              HP       SA6400           2.84 PQ: 0 ANSI: 0
[    0.634882] i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f0e:PS2M] at 0x60,0x64 irq 1,12
[    0.635581] sd 0:1:0:0: [sda] 430622325 512-byte logical blocks: (220 GB/205 GiB)
[    0.635974] sd 0:1:0:0: [sda] Write Protect is off
[    0.636118] sd 0:1:0:0: [sda] Mode Sense: 5b 00 00 08
[    0.636337] sd 0:1:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA

Among these, the following show up red in dmesg:

report luns requested format 2, got 0
hpsa0: hpsa_update_device_info: can't get device id for host 0:C0:T0:L0       Direct-Access           MAN3735MC
hpsa0: hpsa_update_device_info: can't get device id for host 0:C0:T-1:L-1     Direct-Access           MAP3735NC
report luns requested format 2, got 0

-- 
Meelis Roos (mroos@linux.ee)

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] hpsa: disable volume status check for older controller
  2017-08-04 16:26 ` Meelis Roos
@ 2017-08-04 16:36   ` Hannes Reinecke
  2017-08-04 16:40     ` Hannes Reinecke
  0 siblings, 1 reply; 5+ messages in thread
From: Hannes Reinecke @ 2017-08-04 16:36 UTC (permalink / raw)
  To: Meelis Roos
  Cc: Don Brace, Martin K. Petersen, Christoph Hellwig, linux-scsi,
	Hannes Reinecke

On 08/04/2017 06:26 PM, Meelis Roos wrote:
>> Older Controller might not support volume status, so disable
>> it if 'hpsa_allow_any' is present.
> 
> It makes my DL380G4 boot with hpsa.hpsa_allow_any=1 and it seems to 
> work. Howevere, there are multiole verbose dmesg entries about failing 
> things:
> 
Hehe. How cool is that?

>     0.267224] HP HPSA Driver (v 3.4.18-0)
> [    0.267351] hpsa 0000:04:03.0: unsupported board ID: 0x40910e11
> [    0.267494] hpsa 0000:04:03.0: unsupported board ID: 0x40910e11
> [    0.267695] hpsa 0000:04:03.0: PCI IRQ 51 -> rerouted to legacy IRQ 19
> [    0.267889] hpsa 0000:04:03.0: Physical aborts not supported
> [    0.268036] hpsa 0000:04:03.0: Logical aborts not supported
> [    0.268163] hpsa 0000:04:03.0: HP SSD Smart Path aborts not supported
> [    0.448240] scsi host0: hpsa
> [    0.452228] hpsa 0000:04:03.0: report luns requested format 2, got 0
> [    0.453950] hpsa 0000:04:03.0: hpsa0: hpsa_update_device_info: can't get device id for host 0:C0:T0:L0       Direct-Access           MAN3735MC       
> [    0.454312] hpsa 0000:04:03.0: SCSI status: LUN:0000000000000000 CDB:26000000000015000801000000000000
> [    0.454525] hpsa 0000:04:03.0: SCSI Status = 02, Sense key = 0x05, ASC = 0x3a, ASCQ = 0x00
Curious. CDB 26 is a vendor specific command, and the controller
responds with 'Medium not present'.
Will be checking what's happening here.

> Among these, the following show up red in dmesg:
> 
> report luns requested format 2, got 0
> hpsa0: hpsa_update_device_info: can't get device id for host 0:C0:T0:L0       Direct-Access           MAN3735MC
> hpsa0: hpsa_update_device_info: can't get device id for host 0:C0:T-1:L-1     Direct-Access           MAP3735NC
> report luns requested format 2, got 0
> 
Hmm. Looking into it.

But thanks for testing!

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		   Teamlead Storage & Networking
hare@suse.de			               +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] hpsa: disable volume status check for older controller
  2017-08-04 16:36   ` Hannes Reinecke
@ 2017-08-04 16:40     ` Hannes Reinecke
  2017-08-04 19:58       ` Meelis Roos
  0 siblings, 1 reply; 5+ messages in thread
From: Hannes Reinecke @ 2017-08-04 16:40 UTC (permalink / raw)
  To: Meelis Roos
  Cc: Don Brace, Martin K. Petersen, Christoph Hellwig, linux-scsi,
	Hannes Reinecke

On 08/04/2017 06:36 PM, Hannes Reinecke wrote:
> On 08/04/2017 06:26 PM, Meelis Roos wrote:
>>> Older Controller might not support volume status, so disable
>>> it if 'hpsa_allow_any' is present.
>>
>> It makes my DL380G4 boot with hpsa.hpsa_allow_any=1 and it seems to 
>> work. Howevere, there are multiole verbose dmesg entries about failing 
>> things:
>>
> Hehe. How cool is that?
> 
>>     0.267224] HP HPSA Driver (v 3.4.18-0)
>> [    0.267351] hpsa 0000:04:03.0: unsupported board ID: 0x40910e11
>> [    0.267494] hpsa 0000:04:03.0: unsupported board ID: 0x40910e11
>> [    0.267695] hpsa 0000:04:03.0: PCI IRQ 51 -> rerouted to legacy IRQ 19
>> [    0.267889] hpsa 0000:04:03.0: Physical aborts not supported
>> [    0.268036] hpsa 0000:04:03.0: Logical aborts not supported
>> [    0.268163] hpsa 0000:04:03.0: HP SSD Smart Path aborts not supported
>> [    0.448240] scsi host0: hpsa
>> [    0.452228] hpsa 0000:04:03.0: report luns requested format 2, got 0
>> [    0.453950] hpsa 0000:04:03.0: hpsa0: hpsa_update_device_info: can't get device id for host 0:C0:T0:L0       Direct-Access           MAN3735MC       
>> [    0.454312] hpsa 0000:04:03.0: SCSI status: LUN:0000000000000000 CDB:26000000000015000801000000000000
>> [    0.454525] hpsa 0000:04:03.0: SCSI Status = 02, Sense key = 0x05, ASC = 0x3a, ASCQ = 0x00
> Curious. CDB 26 is a vendor specific command, and the controller
> responds with 'Medium not present'.
> Will be checking what's happening here.
> 
>> Among these, the following show up red in dmesg:
>>
>> report luns requested format 2, got 0
>> hpsa0: hpsa_update_device_info: can't get device id for host 0:C0:T0:L0       Direct-Access           MAN3735MC
>> hpsa0: hpsa_update_device_info: can't get device id for host 0:C0:T-1:L-1     Direct-Access           MAP3735NC
>> report luns requested format 2, got 0
>>
> Hmm. Looking into it.
> 
> But thanks for testing!
> 
You should be able to suppress the "can't get device id' messages with:

diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index 2cf6cccf067f..56fd654c1ecd 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -3813,7 +3813,7 @@ static int hpsa_update_device_info(struct
ctlr_info *h,
        memset(this_device->device_id, 0,
                sizeof(this_device->device_id));
        if (hpsa_get_device_id(h, scsi3addr, this_device->device_id, 8,
-               sizeof(this_device->device_id)))
+               sizeof(this_device->device_id)) < 0)
                dev_err(&h->pdev->dev,
                        "hpsa%d: %s: can't get device id for host
%d:C0:T%d:L%d\t%s\t%.16s\n",
                        h->ctlr, __func__,

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		   Teamlead Storage & Networking
hare@suse.de			               +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] hpsa: disable volume status check for older controller
  2017-08-04 16:40     ` Hannes Reinecke
@ 2017-08-04 19:58       ` Meelis Roos
  0 siblings, 0 replies; 5+ messages in thread
From: Meelis Roos @ 2017-08-04 19:58 UTC (permalink / raw)
  To: Hannes Reinecke
  Cc: Don Brace, Martin K. Petersen, Christoph Hellwig, linux-scsi,
	Hannes Reinecke

> You should be able to suppress the "can't get device id' messages with:

Yes, these messages are gone and it still works.

-- 
Meelis Roos (mroos@linux.ee)

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-08-04 19:58 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-02 15:05 [PATCH] hpsa: disable volume status check for older controller Hannes Reinecke
2017-08-04 16:26 ` Meelis Roos
2017-08-04 16:36   ` Hannes Reinecke
2017-08-04 16:40     ` Hannes Reinecke
2017-08-04 19:58       ` Meelis Roos

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox