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