Sophie

Sophie

distrib > CentOS > 5 > x86_64 > by-pkgid > ea32411352494358b8d75a78402a4713 > files > 4098

kernel-2.6.18-238.19.1.el5.centos.plus.src.rpm

From: Hendrik Brueckner <brueckner@redhat.com>
Date: Wed, 4 Aug 2010 10:02:55 -0400
Subject: [s390] zfcp: Do not unblock rport from REOPEN_PORT_FORCED
Message-id: <1280916181-27024-3-git-send-email-brueckner@redhat.com>
Patchwork-id: 27371
O-Subject: [RHEL5.6 PATCH 2/8] [s390x] zfcp: Do not unblock rport from
	REOPEN_PORT_FORCED
Bugzilla: 612266
RH-Acked-by: Pete Zaitcev <zaitcev@redhat.com>

Description
-----------
The fc_remote_port is online, although the port is not
available in the SAN.

The zfcp erp triggers the call to fc_remote_port_add
after the successful completion of the "reopen port" and
"reopen port forced actions", although the "reopen port
forced" action only results in a boxed port.

Do not call fc_remote_port_add after completing the
"reopen port forced", only after completing the "port
reopen".

Bugzilla
--------
BZ 612266
https://bugzilla.redhat.com/show_bug.cgi?id=612266

Upstream status of the patch
----------------------------
http://git.kernel.org/?p=linux/kernel/git/jejb/scsi-misc-2.6.git;a=commit;h=5767620c383a226e39891e7e654a70ebb8e95e69

Test status
-----------
The patch has been tested and fixes the problem.
The fix has been verified by the IBM test department.

diff --git a/drivers/s390/scsi/zfcp_erp.c b/drivers/s390/scsi/zfcp_erp.c
index a1673a7..f735466 100644
--- a/drivers/s390/scsi/zfcp_erp.c
+++ b/drivers/s390/scsi/zfcp_erp.c
@@ -2932,7 +2932,6 @@ zfcp_erp_action_cleanup(int action, struct zfcp_adapter *adapter,
 		}
 		zfcp_unit_put(unit);
 		break;
-	case ZFCP_ERP_ACTION_REOPEN_PORT_FORCED:
 	case ZFCP_ERP_ACTION_REOPEN_PORT:
 		if (atomic_test_mask(ZFCP_STATUS_PORT_NO_WWPN,
 				     &port->status)) {
@@ -2965,6 +2964,8 @@ zfcp_erp_action_cleanup(int action, struct zfcp_adapter *adapter,
 			fc_remote_port_delete(port->rport);
 			port->rport = NULL;
 		}
+		/* fall through */
+	case ZFCP_ERP_ACTION_REOPEN_PORT_FORCED:
 		zfcp_port_put(port);
 		break;
 	case ZFCP_ERP_ACTION_REOPEN_ADAPTER: