summaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_dbf.c
diff options
context:
space:
mode:
authorMaxim Shchetynin <maxim@de.ibm.com>2005-09-13 21:51:16 +0200
committerJames Bottomley <jejb@mulgrave.(none)>2005-09-19 13:03:45 -0500
commitaef4a983090fa590481a86d9690dc3fa6bb121fa (patch)
tree12b78b227102dc2f41dda227fe83f34a8838e015 /drivers/s390/scsi/zfcp_dbf.c
parent8a36e4532ea10471f0a8605207d071361d7be2c3 (diff)
[SCSI] zfcp: provide support for NPIV
N_Port ID Virtualization (NPIV) allows a single FCP port to appear as multiple, distinct ports providing separate port identification. NPIV is supported by FC HBAs on System z9. zfcp was adapted to support this new feature. Signed-off-by: Andreas Herrmann <aherrman@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/s390/scsi/zfcp_dbf.c')
-rw-r--r--drivers/s390/scsi/zfcp_dbf.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/s390/scsi/zfcp_dbf.c b/drivers/s390/scsi/zfcp_dbf.c
index fff1537335c..64d9b90373f 100644
--- a/drivers/s390/scsi/zfcp_dbf.c
+++ b/drivers/s390/scsi/zfcp_dbf.c
@@ -279,9 +279,18 @@ zfcp_hba_dbf_event_fsf_unsol(const char *tag, struct zfcp_adapter *adapter,
break;
case FSF_STATUS_READ_LINK_DOWN:
- rec->type.status.payload_size = sizeof(u64);
+ switch (status_buffer->status_subtype) {
+ case FSF_STATUS_READ_SUB_NO_PHYSICAL_LINK:
+ case FSF_STATUS_READ_SUB_FDISC_FAILED:
+ rec->type.status.payload_size =
+ sizeof(struct fsf_link_down_info);
+ }
break;
+ case FSF_STATUS_READ_FEATURE_UPDATE_ALERT:
+ rec->type.status.payload_size =
+ ZFCP_DBF_UNSOL_PAYLOAD_FEATURE_UPDATE_ALERT;
+ break;
}
memcpy(&rec->type.status.payload,
&status_buffer->payload, rec->type.status.payload_size);