aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_dbf.c
diff options
context:
space:
mode:
authorMartin Peschke <mp3@de.ibm.com>2008-03-27 09:22:00 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-04-07 13:19:04 -0400
commitd79a83dbffe2e49e73f2903c350937faf2e0c2f1 (patch)
treee37ad0ed1fb790bd05c5c7678def7a78946ea2d7 /drivers/s390/scsi/zfcp_dbf.c
parent10223c60daf226ee2248b772892abc83cd875aa7 (diff)
[SCSI] zfcp: Register new recovery trace.
This patch registers the new recovery trace with the s390 debug feature. 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_dbf.c')
-rw-r--r--drivers/s390/scsi/zfcp_dbf.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/drivers/s390/scsi/zfcp_dbf.c b/drivers/s390/scsi/zfcp_dbf.c
index 453343783990..e7712eb13eea 100644
--- a/drivers/s390/scsi/zfcp_dbf.c
+++ b/drivers/s390/scsi/zfcp_dbf.c
@@ -520,6 +520,36 @@ static struct debug_view zfcp_hba_dbf_view = {
520 NULL 520 NULL
521}; 521};
522 522
523static const char *zfcp_rec_dbf_tags[] = {
524};
525
526static const char *zfcp_rec_dbf_ids[] = {
527};
528
529static int zfcp_rec_dbf_view_format(debug_info_t *id, struct debug_view *view,
530 char *buf, const char *_rec)
531{
532 struct zfcp_rec_dbf_record *r = (struct zfcp_rec_dbf_record *)_rec;
533 char *p = buf;
534
535 zfcp_dbf_outs(&p, "tag", zfcp_rec_dbf_tags[r->id]);
536 zfcp_dbf_outs(&p, "hint", zfcp_rec_dbf_ids[r->id2]);
537 zfcp_dbf_out(&p, "id", "%d", r->id2);
538 switch (r->id) {
539 }
540 sprintf(p, "\n");
541 return (p - buf) + 1;
542}
543
544static struct debug_view zfcp_rec_dbf_view = {
545 "structured",
546 NULL,
547 &zfcp_dbf_view_header,
548 &zfcp_rec_dbf_view_format,
549 NULL,
550 NULL
551};
552
523static void 553static void
524_zfcp_san_dbf_event_common_ct(const char *tag, struct zfcp_fsf_req *fsf_req, 554_zfcp_san_dbf_event_common_ct(const char *tag, struct zfcp_fsf_req *fsf_req,
525 u32 s_id, u32 d_id, void *buffer, int buflen) 555 u32 s_id, u32 d_id, void *buffer, int buflen)
@@ -934,6 +964,16 @@ int zfcp_adapter_debug_register(struct zfcp_adapter *adapter)
934 debug_register_view(adapter->erp_dbf, &debug_hex_ascii_view); 964 debug_register_view(adapter->erp_dbf, &debug_hex_ascii_view);
935 debug_set_level(adapter->erp_dbf, 3); 965 debug_set_level(adapter->erp_dbf, 3);
936 966
967 /* debug feature area which records recovery activity */
968 sprintf(dbf_name, "zfcp_%s_rec", zfcp_get_busid_by_adapter(adapter));
969 adapter->rec_dbf = debug_register(dbf_name, dbfsize, 1,
970 sizeof(struct zfcp_rec_dbf_record));
971 if (!adapter->rec_dbf)
972 goto failed;
973 debug_register_view(adapter->rec_dbf, &debug_hex_ascii_view);
974 debug_register_view(adapter->rec_dbf, &zfcp_rec_dbf_view);
975 debug_set_level(adapter->rec_dbf, 3);
976
937 /* debug feature area which records HBA (FSF and QDIO) conditions */ 977 /* debug feature area which records HBA (FSF and QDIO) conditions */
938 sprintf(dbf_name, "zfcp_%s_hba", zfcp_get_busid_by_adapter(adapter)); 978 sprintf(dbf_name, "zfcp_%s_hba", zfcp_get_busid_by_adapter(adapter));
939 adapter->hba_dbf = debug_register(dbf_name, dbfsize, 1, 979 adapter->hba_dbf = debug_register(dbf_name, dbfsize, 1,
@@ -981,10 +1021,12 @@ void zfcp_adapter_debug_unregister(struct zfcp_adapter *adapter)
981 debug_unregister(adapter->scsi_dbf); 1021 debug_unregister(adapter->scsi_dbf);
982 debug_unregister(adapter->san_dbf); 1022 debug_unregister(adapter->san_dbf);
983 debug_unregister(adapter->hba_dbf); 1023 debug_unregister(adapter->hba_dbf);
1024 debug_unregister(adapter->rec_dbf);
984 debug_unregister(adapter->erp_dbf); 1025 debug_unregister(adapter->erp_dbf);
985 adapter->scsi_dbf = NULL; 1026 adapter->scsi_dbf = NULL;
986 adapter->san_dbf = NULL; 1027 adapter->san_dbf = NULL;
987 adapter->hba_dbf = NULL; 1028 adapter->hba_dbf = NULL;
1029 adapter->rec_dbf = NULL;
988 adapter->erp_dbf = NULL; 1030 adapter->erp_dbf = NULL;
989} 1031}
990 1032