aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_ext.h
diff options
context:
space:
mode:
authorChristof Schmitt <christof.schmitt@de.ibm.com>2009-08-18 09:43:20 -0400
committerJames Bottomley <James.Bottomley@suse.de>2009-09-05 09:49:28 -0400
commit799b76d09aeee558d18c1f5b93e63f58f1d1fc11 (patch)
treea1a05faa773b329246a4fa97ba7c0ac5201b5d40 /drivers/s390/scsi/zfcp_ext.h
parent564e1c86c810f9ccfe4300afa402815e3db4886d (diff)
[SCSI] zfcp: Decouple gid_pn requests from erp
Don't let the erp wait for gid_pn requests to complete. Instead, queue the gid_pn work, exit erp and let the finished gid_pn work trigger a new port reopen. Reviewed-by: Swen Schillig <swen@vnet.ibm.com> Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/s390/scsi/zfcp_ext.h')
-rw-r--r--drivers/s390/scsi/zfcp_ext.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/s390/scsi/zfcp_ext.h b/drivers/s390/scsi/zfcp_ext.h
index e97947d2f2ed..7650cec7f71f 100644
--- a/drivers/s390/scsi/zfcp_ext.h
+++ b/drivers/s390/scsi/zfcp_ext.h
@@ -94,13 +94,12 @@ extern void zfcp_erp_unit_access_denied(struct zfcp_unit *, char *, void *);
94extern void zfcp_erp_adapter_access_changed(struct zfcp_adapter *, char *, 94extern void zfcp_erp_adapter_access_changed(struct zfcp_adapter *, char *,
95 void *); 95 void *);
96extern void zfcp_erp_timeout_handler(unsigned long); 96extern void zfcp_erp_timeout_handler(unsigned long);
97extern void zfcp_erp_port_strategy_open_lookup(struct work_struct *);
98 97
99/* zfcp_fc.c */ 98/* zfcp_fc.c */
100extern int zfcp_scan_ports(struct zfcp_adapter *); 99extern int zfcp_scan_ports(struct zfcp_adapter *);
101extern void _zfcp_scan_ports_later(struct work_struct *); 100extern void _zfcp_scan_ports_later(struct work_struct *);
102extern void zfcp_fc_incoming_els(struct zfcp_fsf_req *); 101extern void zfcp_fc_incoming_els(struct zfcp_fsf_req *);
103extern int zfcp_fc_ns_gid_pn(struct zfcp_erp_action *); 102extern void zfcp_fc_port_did_lookup(struct work_struct *);
104extern void zfcp_fc_plogi_evaluate(struct zfcp_port *, struct fsf_plogi *); 103extern void zfcp_fc_plogi_evaluate(struct zfcp_port *, struct fsf_plogi *);
105extern void zfcp_test_link(struct zfcp_port *); 104extern void zfcp_test_link(struct zfcp_port *);
106extern void zfcp_fc_link_test_work(struct work_struct *); 105extern void zfcp_fc_link_test_work(struct work_struct *);
@@ -128,8 +127,7 @@ extern struct zfcp_fsf_req *zfcp_fsf_control_file(struct zfcp_adapter *,
128extern void zfcp_fsf_req_dismiss_all(struct zfcp_adapter *); 127extern void zfcp_fsf_req_dismiss_all(struct zfcp_adapter *);
129extern int zfcp_fsf_status_read(struct zfcp_qdio *); 128extern int zfcp_fsf_status_read(struct zfcp_qdio *);
130extern int zfcp_status_read_refill(struct zfcp_adapter *adapter); 129extern int zfcp_status_read_refill(struct zfcp_adapter *adapter);
131extern int zfcp_fsf_send_ct(struct zfcp_send_ct *, mempool_t *, 130extern int zfcp_fsf_send_ct(struct zfcp_send_ct *, mempool_t *);
132 struct zfcp_erp_action *);
133extern int zfcp_fsf_send_els(struct zfcp_send_els *); 131extern int zfcp_fsf_send_els(struct zfcp_send_els *);
134extern int zfcp_fsf_send_fcp_command_task(struct zfcp_unit *, 132extern int zfcp_fsf_send_fcp_command_task(struct zfcp_unit *,
135 struct scsi_cmnd *); 133 struct scsi_cmnd *);