Skip to contentSkip to conversation

zfcp: cleanup, separation of ERP, non ERP-version for exchange_ functions

PATCH New Swen Schillig 1 participant 1 message Aug 28, 2007

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 7/10 zfcp: cleanup, separation of ERP, non ERP-version for exchange_ functions

From: Swen Schillig <[email protected]>

cleanup, using ERP request mempool for all ERP versions of the exchange functions (exchange_config (ECD), exchange_port (EPD) ) providing individual versions of the ECD, EPD functions for ERP and other purposes (_sync).

---
 drivers/s390/scsi/zfcp_erp.c  |    2 
 drivers/s390/scsi/zfcp_ext.h  |    8 -
 drivers/s390/scsi/zfcp_fsf.c  |  231 ++++++++++++++++++++++++++++++------------
 drivers/s390/scsi/zfcp_scsi.c |    5 
 4 files changed, 175 insertions(+), 71 deletions(-)
drivers/s390/scsi/zfcp_ext.h +5 -3
Index: HEAD/drivers/s390/scsi/zfcp_ext.h
===================================================================
@@ -82,9 +82,11 @@ extern int  zfcp_fsf_open_unit(struct zf
 extern int  zfcp_fsf_close_unit(struct zfcp_erp_action *);
 
 extern int  zfcp_fsf_exchange_config_data(struct zfcp_erp_action *);
-extern int  zfcp_fsf_exchange_port_data(struct zfcp_erp_action *,
-					struct zfcp_adapter *,
-					struct fsf_qtcb_bottom_port *);
+extern int  zfcp_fsf_exchange_config_data_sync(struct zfcp_adapter *,
+                                              struct fsf_qtcb_bottom_config *);
+extern int  zfcp_fsf_exchange_port_data(struct zfcp_erp_action *);
+extern int  zfcp_fsf_exchange_port_data_sync(struct zfcp_adapter *,
+                                             struct fsf_qtcb_bottom_port *);
 extern int  zfcp_fsf_control_file(struct zfcp_adapter *, struct zfcp_fsf_req **,
 				  u32, u32, struct zfcp_sg_list *);
 extern void zfcp_fsf_start_timer(struct zfcp_fsf_req *, unsigned long);
drivers/s390/scsi/zfcp_fsf.c +166 -65

360 lines not on this page · raw message

drivers/s390/scsi/zfcp_scsi.c +3 -2
Index: HEAD/drivers/s390/scsi/zfcp_scsi.c
===================================================================
@@ -731,7 +731,7 @@ zfcp_get_fc_host_stats(struct Scsi_Host 
 	if (!data)
 		return NULL;
 
-	ret = zfcp_fsf_exchange_port_data(NULL, adapter, data);
+	ret = zfcp_fsf_exchange_port_data_sync(adapter, data);
 	if (ret) {
 		kfree(data);
 		return NULL; /* XXX return zeroed fc_stats? */
@@ -761,7 +761,7 @@ zfcp_reset_fc_host_stats(struct Scsi_Hos
 	if (!data)
 		return;
 
-	ret = zfcp_fsf_exchange_port_data(NULL, adapter, data);
+	ret = zfcp_fsf_exchange_port_data_sync(adapter, data);
 	if (ret) {
 		kfree(data);
 	} else {
@@ -800,6 +800,7 @@ struct fc_function_template zfcp_transpo
 	.show_host_port_type = 1,
 	.show_host_speed = 1,
 	.show_host_port_id = 1,
+	.disable_target_scan = 1,
 };
 
 /**
drivers/s390/scsi/zfcp_erp.c +1 -1
Index: HEAD/drivers/s390/scsi/zfcp_erp.c
===================================================================
@@ -2197,7 +2197,7 @@ zfcp_erp_adapter_strategy_open_fsf_xport
 	zfcp_erp_action_to_running(erp_action);
 	write_unlock_irq(&adapter->erp_lock);
 
-	ret = zfcp_fsf_exchange_port_data(erp_action, adapter, NULL);
+	ret = zfcp_fsf_exchange_port_data(erp_action);
 	if (ret == -EOPNOTSUPP) {
 		debug_text_event(adapter->erp_dbf, 3, "a_xport_notsupp");
 		return ZFCP_ERP_SUCCEEDED;