* [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