aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_erp.c
diff options
context:
space:
mode:
authorMartin Peschke <mp3@de.ibm.com>2008-03-27 09:22:04 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-04-07 13:19:05 -0400
commit6f4f365e9c5d721c4d03ee8009dd6fab47feb045 (patch)
tree21bbaf06cf0889c2e81944381689703e3af90829 /drivers/s390/scsi/zfcp_erp.c
parent9467a9b3efdd9041202f71cc270bda827a7ec777 (diff)
[SCSI] zfcp: Add trace records for recovery actions.
This patch writes trace records for various phases of a recovery action: action being created, action being processed, action continueing asynchronously, action gone, action timed out, action dismissed etc. 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_erp.c')
-rw-r--r--drivers/s390/scsi/zfcp_erp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/s390/scsi/zfcp_erp.c b/drivers/s390/scsi/zfcp_erp.c
index 55e034b10ded..335ab70181e8 100644
--- a/drivers/s390/scsi/zfcp_erp.c
+++ b/drivers/s390/scsi/zfcp_erp.c
@@ -893,8 +893,10 @@ zfcp_erp_strategy_check_fsfreq(struct zfcp_erp_action *erp_action)
893 "a_ca_disreq"); 893 "a_ca_disreq");
894 erp_action->fsf_req->status |= 894 erp_action->fsf_req->status |=
895 ZFCP_STATUS_FSFREQ_DISMISSED; 895 ZFCP_STATUS_FSFREQ_DISMISSED;
896 zfcp_rec_dbf_event_action(142, erp_action);
896 } 897 }
897 if (erp_action->status & ZFCP_STATUS_ERP_TIMEDOUT) { 898 if (erp_action->status & ZFCP_STATUS_ERP_TIMEDOUT) {
899 zfcp_rec_dbf_event_action(143, erp_action);
898 ZFCP_LOG_NORMAL("error: erp step timed out " 900 ZFCP_LOG_NORMAL("error: erp step timed out "
899 "(action=%d, fsf_req=%p)\n ", 901 "(action=%d, fsf_req=%p)\n ",
900 erp_action->action, 902 erp_action->action,
@@ -3162,6 +3164,8 @@ zfcp_erp_action_dequeue(struct zfcp_erp_action *erp_action)
3162 debug_text_event(adapter->erp_dbf, 4, "a_actdeq"); 3164 debug_text_event(adapter->erp_dbf, 4, "a_actdeq");
3163 debug_event(adapter->erp_dbf, 4, &erp_action->action, sizeof (int)); 3165 debug_event(adapter->erp_dbf, 4, &erp_action->action, sizeof (int));
3164 list_del(&erp_action->list); 3166 list_del(&erp_action->list);
3167 zfcp_rec_dbf_event_action(144, erp_action);
3168
3165 switch (erp_action->action) { 3169 switch (erp_action->action) {
3166 case ZFCP_ERP_ACTION_REOPEN_UNIT: 3170 case ZFCP_ERP_ACTION_REOPEN_UNIT:
3167 atomic_clear_mask(ZFCP_STATUS_COMMON_ERP_INUSE, 3171 atomic_clear_mask(ZFCP_STATUS_COMMON_ERP_INUSE,
@@ -3305,6 +3309,7 @@ static void zfcp_erp_action_to_running(struct zfcp_erp_action *erp_action)
3305 debug_text_event(adapter->erp_dbf, 6, "a_toru"); 3309 debug_text_event(adapter->erp_dbf, 6, "a_toru");
3306 debug_event(adapter->erp_dbf, 6, &erp_action->action, sizeof (int)); 3310 debug_event(adapter->erp_dbf, 6, &erp_action->action, sizeof (int));
3307 list_move(&erp_action->list, &erp_action->adapter->erp_running_head); 3311 list_move(&erp_action->list, &erp_action->adapter->erp_running_head);
3312 zfcp_rec_dbf_event_action(145, erp_action);
3308} 3313}
3309 3314
3310static void zfcp_erp_action_to_ready(struct zfcp_erp_action *erp_action) 3315static void zfcp_erp_action_to_ready(struct zfcp_erp_action *erp_action)
@@ -3314,6 +3319,7 @@ static void zfcp_erp_action_to_ready(struct zfcp_erp_action *erp_action)
3314 debug_text_event(adapter->erp_dbf, 6, "a_tore"); 3319 debug_text_event(adapter->erp_dbf, 6, "a_tore");
3315 debug_event(adapter->erp_dbf, 6, &erp_action->action, sizeof (int)); 3320 debug_event(adapter->erp_dbf, 6, &erp_action->action, sizeof (int));
3316 list_move(&erp_action->list, &erp_action->adapter->erp_ready_head); 3321 list_move(&erp_action->list, &erp_action->adapter->erp_ready_head);
3322 zfcp_rec_dbf_event_action(146, erp_action);
3317} 3323}
3318 3324
3319void zfcp_erp_port_boxed(struct zfcp_port *port, u8 id, u64 ref) 3325void zfcp_erp_port_boxed(struct zfcp_port *port, u8 id, u64 ref)