summaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_ext.h
diff options
context:
space:
mode:
authorMartin Peschke2008-03-27 14:22:03 +0100
committerJames Bottomley2008-04-07 19:19:04 +0200
commit9467a9b3efdd9041202f71cc270bda827a7ec777 (patch)
tree9e7b8e167da9aa5065b1f7ed1d2a1ab9c2ad47da /drivers/s390/scsi/zfcp_ext.h
parent[SCSI] zfcp: Add traces for state changes. (diff)
downloadkernel-qcow2-linux-9467a9b3efdd9041202f71cc270bda827a7ec777.tar.gz
kernel-qcow2-linux-9467a9b3efdd9041202f71cc270bda827a7ec777.tar.xz
kernel-qcow2-linux-9467a9b3efdd9041202f71cc270bda827a7ec777.zip
[SCSI] zfcp: Trace all triggers of error recovery activity
This patch allows any recovery event to be traced back to an exact cause, e.g. a particular request identified by an id (address). Signed-off-by: Martin Peschke <mp3@de.ibm.com> Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/s390/scsi/zfcp_ext.h')
-rw-r--r--drivers/s390/scsi/zfcp_ext.h25
1 files changed, 14 insertions, 11 deletions
diff --git a/drivers/s390/scsi/zfcp_ext.h b/drivers/s390/scsi/zfcp_ext.h
index 20ad6fde2e22..e10ed145baa7 100644
--- a/drivers/s390/scsi/zfcp_ext.h
+++ b/drivers/s390/scsi/zfcp_ext.h
@@ -133,20 +133,20 @@ extern struct fc_function_template zfcp_transport_functions;
/******************************** ERP ****************************************/
extern void zfcp_erp_modify_adapter_status(struct zfcp_adapter *, u8, u64, u32,
int);
-extern int zfcp_erp_adapter_reopen(struct zfcp_adapter *, int);
-extern int zfcp_erp_adapter_shutdown(struct zfcp_adapter *, int);
+extern int zfcp_erp_adapter_reopen(struct zfcp_adapter *, int, u8, u64);
+extern int zfcp_erp_adapter_shutdown(struct zfcp_adapter *, int, u8, u64);
extern void zfcp_erp_adapter_failed(struct zfcp_adapter *, u8, u64);
extern void zfcp_erp_modify_port_status(struct zfcp_port *, u8, u64, u32, int);
-extern int zfcp_erp_port_reopen(struct zfcp_port *, int);
-extern int zfcp_erp_port_shutdown(struct zfcp_port *, int);
-extern int zfcp_erp_port_forced_reopen(struct zfcp_port *, int);
+extern int zfcp_erp_port_reopen(struct zfcp_port *, int, u8, u64);
+extern int zfcp_erp_port_shutdown(struct zfcp_port *, int, u8, u64);
+extern int zfcp_erp_port_forced_reopen(struct zfcp_port *, int, u8, u64);
extern void zfcp_erp_port_failed(struct zfcp_port *, u8, u64);
-extern int zfcp_erp_port_reopen_all(struct zfcp_adapter *, int);
+extern int zfcp_erp_port_reopen_all(struct zfcp_adapter *, int, u8, u64);
extern void zfcp_erp_modify_unit_status(struct zfcp_unit *, u8, u64, u32, int);
-extern int zfcp_erp_unit_reopen(struct zfcp_unit *, int);
-extern int zfcp_erp_unit_shutdown(struct zfcp_unit *, int);
+extern int zfcp_erp_unit_reopen(struct zfcp_unit *, int, u8, u64);
+extern int zfcp_erp_unit_shutdown(struct zfcp_unit *, int, u8, u64);
extern void zfcp_erp_unit_failed(struct zfcp_unit *, u8, u64);
extern int zfcp_erp_thread_setup(struct zfcp_adapter *);
@@ -160,9 +160,9 @@ extern void zfcp_erp_port_boxed(struct zfcp_port *, u8 id, u64 ref);
extern void zfcp_erp_unit_boxed(struct zfcp_unit *, u8 id, u64 ref);
extern void zfcp_erp_port_access_denied(struct zfcp_port *, u8 id, u64 ref);
extern void zfcp_erp_unit_access_denied(struct zfcp_unit *, u8 id, u64 ref);
-extern void zfcp_erp_adapter_access_changed(struct zfcp_adapter *);
-extern void zfcp_erp_port_access_changed(struct zfcp_port *);
-extern void zfcp_erp_unit_access_changed(struct zfcp_unit *);
+extern void zfcp_erp_adapter_access_changed(struct zfcp_adapter *, u8, u64);
+extern void zfcp_erp_port_access_changed(struct zfcp_port *, u8, u64);
+extern void zfcp_erp_unit_access_changed(struct zfcp_unit *, u8, u64);
/******************************** AUX ****************************************/
extern void zfcp_rec_dbf_event_thread(u8 id, struct zfcp_adapter *adapter,
@@ -170,6 +170,9 @@ extern void zfcp_rec_dbf_event_thread(u8 id, struct zfcp_adapter *adapter,
extern void zfcp_rec_dbf_event_adapter(u8 id, u64 ref, struct zfcp_adapter *);
extern void zfcp_rec_dbf_event_port(u8 id, u64 ref, struct zfcp_port *port);
extern void zfcp_rec_dbf_event_unit(u8 id, u64 ref, struct zfcp_unit *unit);
+extern void zfcp_rec_dbf_event_trigger(u8 id, u64 ref, u8 want, u8 need,
+ u64 action, struct zfcp_adapter *,
+ struct zfcp_port *, struct zfcp_unit *);
extern void zfcp_hba_dbf_event_fsf_response(struct zfcp_fsf_req *);
extern void zfcp_hba_dbf_event_fsf_unsol(const char *, struct zfcp_adapter *,