aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_erp.c
diff options
context:
space:
mode:
author <jejb@titanic.il.steeleye.com>2005-04-11 00:04:28 -0400
committerJames Bottomley <jejb@titanic>2005-04-18 13:34:41 -0400
commit6f71d9bc025b02a8cbc2be83b0226a7043a507a5 (patch)
tree01caefa8cdcb986b0a698c640a6a59d89e69db62 /drivers/s390/scsi/zfcp_erp.c
parentf4c2c15b930b23edaa633b09fe3f4c01b4ecce9f (diff)
zfcp: add point-2-point support
From: Andreas Herrmann <aherrman@de.ibm.com> This patch mainly introduces support for point-2-point topology. From: Heiko Carstens <heiko.carstens@de.ibm.com> From: Maxim Shchetynin <maxim@de.ibm.com> From: Andreas Herrmann <aherrman@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/s390/scsi/zfcp_erp.c')
-rw-r--r--drivers/s390/scsi/zfcp_erp.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/drivers/s390/scsi/zfcp_erp.c b/drivers/s390/scsi/zfcp_erp.c
index cfc0d8c588df..53ebc1cdfe2d 100644
--- a/drivers/s390/scsi/zfcp_erp.c
+++ b/drivers/s390/scsi/zfcp_erp.c
@@ -2568,6 +2568,23 @@ zfcp_erp_port_strategy_open_common(struct zfcp_erp_action *erp_action)
2568 case ZFCP_ERP_STEP_UNINITIALIZED: 2568 case ZFCP_ERP_STEP_UNINITIALIZED:
2569 case ZFCP_ERP_STEP_PHYS_PORT_CLOSING: 2569 case ZFCP_ERP_STEP_PHYS_PORT_CLOSING:
2570 case ZFCP_ERP_STEP_PORT_CLOSING: 2570 case ZFCP_ERP_STEP_PORT_CLOSING:
2571 if (adapter->fc_topology == FSF_TOPO_P2P) {
2572 if (port->wwpn != adapter->peer_wwpn) {
2573 ZFCP_LOG_NORMAL("Failed to open port 0x%016Lx "
2574 "on adapter %s.\nPeer WWPN "
2575 "0x%016Lx does not match\n",
2576 port->wwpn,
2577 zfcp_get_busid_by_adapter(adapter),
2578 adapter->peer_wwpn);
2579 zfcp_erp_port_failed(port);
2580 retval = ZFCP_ERP_FAILED;
2581 break;
2582 }
2583 port->d_id = adapter->peer_d_id;
2584 atomic_set_mask(ZFCP_STATUS_PORT_DID_DID, &port->status);
2585 retval = zfcp_erp_port_strategy_open_port(erp_action);
2586 break;
2587 }
2571 if (!(adapter->nameserver_port)) { 2588 if (!(adapter->nameserver_port)) {
2572 retval = zfcp_nameserver_enqueue(adapter); 2589 retval = zfcp_nameserver_enqueue(adapter);
2573 if (retval != 0) { 2590 if (retval != 0) {
@@ -3516,8 +3533,9 @@ zfcp_erp_adapter_access_changed(struct zfcp_adapter *adapter)
3516 debug_text_event(adapter->erp_dbf, 3, "a_access_unblock"); 3533 debug_text_event(adapter->erp_dbf, 3, "a_access_unblock");
3517 debug_event(adapter->erp_dbf, 3, &adapter->name, 8); 3534 debug_event(adapter->erp_dbf, 3, &adapter->name, 8);
3518 3535
3519 zfcp_erp_port_access_changed(adapter->nameserver_port);
3520 read_lock_irqsave(&zfcp_data.config_lock, flags); 3536 read_lock_irqsave(&zfcp_data.config_lock, flags);
3537 if (adapter->nameserver_port)
3538 zfcp_erp_port_access_changed(adapter->nameserver_port);
3521 list_for_each_entry(port, &adapter->port_list_head, list) 3539 list_for_each_entry(port, &adapter->port_list_head, list)
3522 if (port != adapter->nameserver_port) 3540 if (port != adapter->nameserver_port)
3523 zfcp_erp_port_access_changed(port); 3541 zfcp_erp_port_access_changed(port);