diff options
author | Chad Dupuis <chad.dupuis@qlogic.com> | 2013-02-08 01:58:01 -0500 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2013-02-22 09:31:24 -0500 |
commit | bb4cf5b73b47fe78502b16bc3dc4af612aa37ad7 (patch) | |
tree | 52571a3d3ea98c29762ef03bd9fbe25ced7b8c86 /drivers/scsi/qla2xxx/qla_gbl.h | |
parent | 3a11711ad00caebee07e262d188cea66f3473c38 (diff) |
[SCSI] qla2xxx: Don't process RSCNs for a vport on the same physical adapter.
Currently,the driver is processes RSCNs for each new NPIV ports that is created.
Processing the RSCN includes a name server query to see what has changed at the
name server side. The name server query is performed by the physical port and
each virtual port on the physical adapter (since the RSCN is passed to each
virtual port for processing). As the number of virtual ports being created
increases, this causes a lot of traffic and busies the firmware.
Processing the RSCN for a virtual port we already have a priori knowledge of is
not necessary so check the 24-bit fabric ID of the RSCN entry and skip
processing it if the RSCN is for a virtual port we already know about.
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_gbl.h')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_gbl.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h index 617771ba6cbc..02f11de0ff01 100644 --- a/drivers/scsi/qla2xxx/qla_gbl.h +++ b/drivers/scsi/qla2xxx/qla_gbl.h | |||
@@ -446,6 +446,7 @@ extern uint8_t *qla25xx_read_nvram_data(scsi_qla_host_t *, uint8_t *, uint32_t, | |||
446 | uint32_t); | 446 | uint32_t); |
447 | extern int qla25xx_write_nvram_data(scsi_qla_host_t *, uint8_t *, uint32_t, | 447 | extern int qla25xx_write_nvram_data(scsi_qla_host_t *, uint8_t *, uint32_t, |
448 | uint32_t); | 448 | uint32_t); |
449 | extern int qla2x00_is_a_vp_did(scsi_qla_host_t *, uint32_t); | ||
449 | 450 | ||
450 | extern int qla2x00_beacon_on(struct scsi_qla_host *); | 451 | extern int qla2x00_beacon_on(struct scsi_qla_host *); |
451 | extern int qla2x00_beacon_off(struct scsi_qla_host *); | 452 | extern int qla2x00_beacon_off(struct scsi_qla_host *); |