aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390
diff options
context:
space:
mode:
authorSwen Schillig <swen@vnet.ibm.com>2010-12-02 09:16:13 -0500
committerJames Bottomley <James.Bottomley@suse.de>2010-12-21 13:24:45 -0500
commit2c55b750a884b86dea8b4cc5f15e1484cc47a25c (patch)
tree0f7e53365fc93504c6a23a14d0faae16998861e8 /drivers/s390
parentae0904f60fab7cb20c48d32eefdd735e478b91fb (diff)
[SCSI] zfcp: Redesign of the debug tracing for SAN records.
This patch is the continuation to redesign the zfcp tracing to a more straight-forward and easy to extend scheme. This patch deals with all trace records of the zfcp SAN area. Signed-off-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')
-rw-r--r--drivers/s390/scsi/zfcp_dbf.c201
-rw-r--r--drivers/s390/scsi/zfcp_dbf.h68
-rw-r--r--drivers/s390/scsi/zfcp_ext.h8
-rw-r--r--drivers/s390/scsi/zfcp_fc.c2
-rw-r--r--drivers/s390/scsi/zfcp_fsf.c8
5 files changed, 85 insertions, 202 deletions
diff --git a/drivers/s390/scsi/zfcp_dbf.c b/drivers/s390/scsi/zfcp_dbf.c
index 675503628cc9..6ece47e5148c 100644
--- a/drivers/s390/scsi/zfcp_dbf.c
+++ b/drivers/s390/scsi/zfcp_dbf.c
@@ -527,183 +527,79 @@ void zfcp_dbf_rec_run(char *tag, struct zfcp_erp_action *erp)
527 spin_unlock_irqrestore(&dbf->rec_lock, flags); 527 spin_unlock_irqrestore(&dbf->rec_lock, flags);
528} 528}
529 529
530/** 530static inline
531 * zfcp_dbf_san_ct_request - trace event for issued CT request 531void zfcp_dbf_san(char *tag, struct zfcp_dbf *dbf, void *data, u8 id, u16 len,
532 * @fsf_req: request containing issued CT data 532 u64 req_id, u32 d_id)
533 * @d_id: destination id where ct request is sent to
534 */
535void zfcp_dbf_san_ct_request(struct zfcp_fsf_req *fsf_req, u32 d_id)
536{
537 struct zfcp_fsf_ct_els *ct = (struct zfcp_fsf_ct_els *)fsf_req->data;
538 struct zfcp_adapter *adapter = fsf_req->adapter;
539 struct zfcp_dbf *dbf = adapter->dbf;
540 struct fc_ct_hdr *hdr = sg_virt(ct->req);
541 struct zfcp_dbf_san_record *r = &dbf->san_buf;
542 struct zfcp_dbf_san_record_ct_request *oct = &r->u.ct_req;
543 int level = 3;
544 unsigned long flags;
545
546 spin_lock_irqsave(&dbf->san_lock, flags);
547 memset(r, 0, sizeof(*r));
548 strncpy(r->tag, "octc", ZFCP_DBF_TAG_SIZE);
549 r->fsf_reqid = fsf_req->req_id;
550 r->fsf_seqno = fsf_req->seq_no;
551 oct->d_id = d_id;
552 oct->cmd_req_code = hdr->ct_cmd;
553 oct->revision = hdr->ct_rev;
554 oct->gs_type = hdr->ct_fs_type;
555 oct->gs_subtype = hdr->ct_fs_subtype;
556 oct->options = hdr->ct_options;
557 oct->max_res_size = hdr->ct_mr_size;
558 oct->len = min((int)ct->req->length - (int)sizeof(struct fc_ct_hdr),
559 ZFCP_DBF_SAN_MAX_PAYLOAD);
560 debug_event(dbf->san, level, r, sizeof(*r));
561 zfcp_dbf_hexdump(dbf->san, r, sizeof(*r), level,
562 (void *)hdr + sizeof(struct fc_ct_hdr), oct->len);
563 spin_unlock_irqrestore(&dbf->san_lock, flags);
564}
565
566/**
567 * zfcp_dbf_san_ct_response - trace event for completion of CT request
568 * @fsf_req: request containing CT response
569 */
570void zfcp_dbf_san_ct_response(struct zfcp_fsf_req *fsf_req)
571{ 533{
572 struct zfcp_fsf_ct_els *ct = (struct zfcp_fsf_ct_els *)fsf_req->data; 534 struct zfcp_dbf_san *rec = &dbf->san_buf;
573 struct zfcp_adapter *adapter = fsf_req->adapter; 535 u16 rec_len;
574 struct fc_ct_hdr *hdr = sg_virt(ct->resp);
575 struct zfcp_dbf *dbf = adapter->dbf;
576 struct zfcp_dbf_san_record *r = &dbf->san_buf;
577 struct zfcp_dbf_san_record_ct_response *rct = &r->u.ct_resp;
578 int level = 3;
579 unsigned long flags; 536 unsigned long flags;
580 537
581 spin_lock_irqsave(&dbf->san_lock, flags); 538 spin_lock_irqsave(&dbf->san_lock, flags);
582 memset(r, 0, sizeof(*r)); 539 memset(rec, 0, sizeof(*rec));
583 strncpy(r->tag, "rctc", ZFCP_DBF_TAG_SIZE);
584 r->fsf_reqid = fsf_req->req_id;
585 r->fsf_seqno = fsf_req->seq_no;
586 rct->cmd_rsp_code = hdr->ct_cmd;
587 rct->revision = hdr->ct_rev;
588 rct->reason_code = hdr->ct_reason;
589 rct->expl = hdr->ct_explan;
590 rct->vendor_unique = hdr->ct_vendor;
591 rct->max_res_size = hdr->ct_mr_size;
592 rct->len = min((int)ct->resp->length - (int)sizeof(struct fc_ct_hdr),
593 ZFCP_DBF_SAN_MAX_PAYLOAD);
594 debug_event(dbf->san, level, r, sizeof(*r));
595 zfcp_dbf_hexdump(dbf->san, r, sizeof(*r), level,
596 (void *)hdr + sizeof(struct fc_ct_hdr), rct->len);
597 spin_unlock_irqrestore(&dbf->san_lock, flags);
598}
599 540
600static void zfcp_dbf_san_els(const char *tag, int level, 541 rec->id = id;
601 struct zfcp_fsf_req *fsf_req, u32 d_id, 542 rec->fsf_req_id = req_id;
602 void *buffer, int buflen) 543 rec->d_id = d_id;
603{ 544 rec_len = min(len, (u16)ZFCP_DBF_SAN_MAX_PAYLOAD);
604 struct zfcp_adapter *adapter = fsf_req->adapter; 545 memcpy(rec->payload, data, rec_len);
605 struct zfcp_dbf *dbf = adapter->dbf; 546 memcpy(rec->tag, tag, ZFCP_DBF_TAG_LEN);
606 struct zfcp_dbf_san_record *rec = &dbf->san_buf;
607 unsigned long flags;
608 547
609 spin_lock_irqsave(&dbf->san_lock, flags); 548 debug_event(dbf->san, 1, rec, sizeof(*rec));
610 memset(rec, 0, sizeof(*rec));
611 strncpy(rec->tag, tag, ZFCP_DBF_TAG_SIZE);
612 rec->fsf_reqid = fsf_req->req_id;
613 rec->fsf_seqno = fsf_req->seq_no;
614 rec->u.els.d_id = d_id;
615 debug_event(dbf->san, level, rec, sizeof(*rec));
616 zfcp_dbf_hexdump(dbf->san, rec, sizeof(*rec), level,
617 buffer, min(buflen, ZFCP_DBF_SAN_MAX_PAYLOAD));
618 spin_unlock_irqrestore(&dbf->san_lock, flags); 549 spin_unlock_irqrestore(&dbf->san_lock, flags);
619} 550}
620 551
621/** 552/**
622 * zfcp_dbf_san_els_request - trace event for issued ELS 553 * zfcp_dbf_san_req - trace event for issued SAN request
623 * @fsf_req: request containing issued ELS 554 * @tag: indentifier for event
555 * @fsf_req: request containing issued CT data
556 * d_id: destination ID
624 */ 557 */
625void zfcp_dbf_san_els_request(struct zfcp_fsf_req *fsf_req) 558void zfcp_dbf_san_req(char *tag, struct zfcp_fsf_req *fsf, u32 d_id)
626{ 559{
627 struct zfcp_fsf_ct_els *els = (struct zfcp_fsf_ct_els *)fsf_req->data; 560 struct zfcp_dbf *dbf = fsf->adapter->dbf;
628 u32 d_id = ntoh24(fsf_req->qtcb->bottom.support.d_id); 561 struct zfcp_fsf_ct_els *ct_els = fsf->data;
562 u16 length;
629 563
630 zfcp_dbf_san_els("oels", 2, fsf_req, d_id, 564 length = (u16)(ct_els->req->length + FC_CT_HDR_LEN);
631 sg_virt(els->req), els->req->length); 565 zfcp_dbf_san(tag, dbf, sg_virt(ct_els->req), ZFCP_DBF_SAN_REQ, length,
566 fsf->req_id, d_id);
632} 567}
633 568
634/** 569/**
635 * zfcp_dbf_san_els_response - trace event for completed ELS 570 * zfcp_dbf_san_res - trace event for received SAN request
636 * @fsf_req: request containing ELS response 571 * @tag: indentifier for event
572 * @fsf_req: request containing issued CT data
637 */ 573 */
638void zfcp_dbf_san_els_response(struct zfcp_fsf_req *fsf_req) 574void zfcp_dbf_san_res(char *tag, struct zfcp_fsf_req *fsf)
639{ 575{
640 struct zfcp_fsf_ct_els *els = (struct zfcp_fsf_ct_els *)fsf_req->data; 576 struct zfcp_dbf *dbf = fsf->adapter->dbf;
641 u32 d_id = ntoh24(fsf_req->qtcb->bottom.support.d_id); 577 struct zfcp_fsf_ct_els *ct_els = fsf->data;
578 u16 length;
642 579
643 zfcp_dbf_san_els("rels", 2, fsf_req, d_id, 580 length = (u16)(ct_els->resp->length + FC_CT_HDR_LEN);
644 sg_virt(els->resp), els->resp->length); 581 zfcp_dbf_san(tag, dbf, sg_virt(ct_els->resp), ZFCP_DBF_SAN_RES, length,
582 fsf->req_id, 0);
645} 583}
646 584
647/** 585/**
648 * zfcp_dbf_san_incoming_els - trace event for incomig ELS 586 * zfcp_dbf_san_in_els - trace event for incoming ELS
649 * @fsf_req: request containing unsolicited status buffer with incoming ELS 587 * @tag: indentifier for event
588 * @fsf_req: request containing issued CT data
650 */ 589 */
651void zfcp_dbf_san_incoming_els(struct zfcp_fsf_req *fsf_req) 590void zfcp_dbf_san_in_els(char *tag, struct zfcp_fsf_req *fsf)
652{
653 struct fsf_status_read_buffer *buf =
654 (struct fsf_status_read_buffer *)fsf_req->data;
655 int length = (int)buf->length -
656 (int)((void *)&buf->payload - (void *)buf);
657
658 zfcp_dbf_san_els("iels", 1, fsf_req, ntoh24(buf->d_id),
659 (void *)buf->payload.data, length);
660}
661
662static int zfcp_dbf_san_view_format(debug_info_t *id, struct debug_view *view,
663 char *out_buf, const char *in_buf)
664{ 591{
665 struct zfcp_dbf_san_record *r = (struct zfcp_dbf_san_record *)in_buf; 592 struct zfcp_dbf *dbf = fsf->adapter->dbf;
666 char *p = out_buf; 593 struct fsf_status_read_buffer *srb =
667 594 (struct fsf_status_read_buffer *) fsf->data;
668 if (strncmp(r->tag, "dump", ZFCP_DBF_TAG_SIZE) == 0) 595 u16 length;
669 return 0; 596
670 597 length = (u16)(srb->length -
671 zfcp_dbf_tag(&p, "tag", r->tag); 598 offsetof(struct fsf_status_read_buffer, payload));
672 zfcp_dbf_out(&p, "fsf_reqid", "0x%0Lx", r->fsf_reqid); 599 zfcp_dbf_san(tag, dbf, srb->payload.data, ZFCP_DBF_SAN_ELS, length,
673 zfcp_dbf_out(&p, "fsf_seqno", "0x%08x", r->fsf_seqno); 600 fsf->req_id, ntoh24(srb->d_id));
674
675 if (strncmp(r->tag, "octc", ZFCP_DBF_TAG_SIZE) == 0) {
676 struct zfcp_dbf_san_record_ct_request *ct = &r->u.ct_req;
677 zfcp_dbf_out(&p, "d_id", "0x%06x", ct->d_id);
678 zfcp_dbf_out(&p, "cmd_req_code", "0x%04x", ct->cmd_req_code);
679 zfcp_dbf_out(&p, "revision", "0x%02x", ct->revision);
680 zfcp_dbf_out(&p, "gs_type", "0x%02x", ct->gs_type);
681 zfcp_dbf_out(&p, "gs_subtype", "0x%02x", ct->gs_subtype);
682 zfcp_dbf_out(&p, "options", "0x%02x", ct->options);
683 zfcp_dbf_out(&p, "max_res_size", "0x%04x", ct->max_res_size);
684 } else if (strncmp(r->tag, "rctc", ZFCP_DBF_TAG_SIZE) == 0) {
685 struct zfcp_dbf_san_record_ct_response *ct = &r->u.ct_resp;
686 zfcp_dbf_out(&p, "cmd_rsp_code", "0x%04x", ct->cmd_rsp_code);
687 zfcp_dbf_out(&p, "revision", "0x%02x", ct->revision);
688 zfcp_dbf_out(&p, "reason_code", "0x%02x", ct->reason_code);
689 zfcp_dbf_out(&p, "reason_code_expl", "0x%02x", ct->expl);
690 zfcp_dbf_out(&p, "vendor_unique", "0x%02x", ct->vendor_unique);
691 zfcp_dbf_out(&p, "max_res_size", "0x%04x", ct->max_res_size);
692 } else if (strncmp(r->tag, "oels", ZFCP_DBF_TAG_SIZE) == 0 ||
693 strncmp(r->tag, "rels", ZFCP_DBF_TAG_SIZE) == 0 ||
694 strncmp(r->tag, "iels", ZFCP_DBF_TAG_SIZE) == 0) {
695 struct zfcp_dbf_san_record_els *els = &r->u.els;
696 zfcp_dbf_out(&p, "d_id", "0x%06x", els->d_id);
697 }
698 return p - out_buf;
699} 601}
700 602
701static struct debug_view zfcp_dbf_san_view = {
702 .name = "structured",
703 .header_proc = zfcp_dbf_view_header,
704 .format_proc = zfcp_dbf_san_view_format,
705};
706
707void _zfcp_dbf_scsi(const char *tag, const char *tag2, int level, 603void _zfcp_dbf_scsi(const char *tag, const char *tag2, int level,
708 struct zfcp_dbf *dbf, struct scsi_cmnd *scsi_cmnd, 604 struct zfcp_dbf *dbf, struct scsi_cmnd *scsi_cmnd,
709 struct zfcp_fsf_req *fsf_req, unsigned long old_req_id) 605 struct zfcp_fsf_req *fsf_req, unsigned long old_req_id)
@@ -882,8 +778,7 @@ int zfcp_dbf_adapter_register(struct zfcp_adapter *adapter)
882 778
883 /* debug feature area which records SAN command failures and recovery */ 779 /* debug feature area which records SAN command failures and recovery */
884 sprintf(dbf_name, "zfcp_%s_san", dev_name(&adapter->ccw_device->dev)); 780 sprintf(dbf_name, "zfcp_%s_san", dev_name(&adapter->ccw_device->dev));
885 dbf->san = zfcp_dbf_reg(dbf_name, 6, &zfcp_dbf_san_view, 781 dbf->san = zfcp_dbf_reg(dbf_name, 3, NULL, sizeof(struct zfcp_dbf_san));
886 sizeof(struct zfcp_dbf_san_record));
887 if (!dbf->san) 782 if (!dbf->san)
888 goto err_out; 783 goto err_out;
889 784
diff --git a/drivers/s390/scsi/zfcp_dbf.h b/drivers/s390/scsi/zfcp_dbf.h
index 2e823d4ede6e..a3af6bd3d5aa 100644
--- a/drivers/s390/scsi/zfcp_dbf.h
+++ b/drivers/s390/scsi/zfcp_dbf.h
@@ -108,6 +108,34 @@ struct zfcp_dbf_rec {
108 } u; 108 } u;
109} __packed; 109} __packed;
110 110
111/**
112 * enum zfcp_dbf_san_id - SAN trace record identifier
113 * @ZFCP_DBF_SAN_REQ: request trace record id
114 * @ZFCP_DBF_SAN_RES: response trace record id
115 * @ZFCP_DBF_SAN_ELS: extended link service record id
116 */
117enum zfcp_dbf_san_id {
118 ZFCP_DBF_SAN_REQ = 1,
119 ZFCP_DBF_SAN_RES = 2,
120 ZFCP_DBF_SAN_ELS = 3,
121};
122
123/** struct zfcp_dbf_san - trace record for SAN requests and responses
124 * @id: unique number of recovery record type
125 * @tag: identifier string specifying the location of initiation
126 * @fsf_req_id: request id for fsf requests
127 * @payload: unformatted information related to request/response
128 * @d_id: destination id
129 */
130struct zfcp_dbf_san {
131 u8 id;
132 char tag[ZFCP_DBF_TAG_LEN];
133 u64 fsf_req_id;
134 u32 d_id;
135#define ZFCP_DBF_SAN_MAX_PAYLOAD (FC_CT_HDR_LEN + 32)
136 char payload[ZFCP_DBF_SAN_MAX_PAYLOAD];
137} __packed;
138
111struct zfcp_dbf_hba_record_response { 139struct zfcp_dbf_hba_record_response {
112 u32 fsf_command; 140 u32 fsf_command;
113 u64 fsf_reqid; 141 u64 fsf_reqid;
@@ -176,44 +204,6 @@ struct zfcp_dbf_hba_record {
176 } u; 204 } u;
177} __attribute__ ((packed)); 205} __attribute__ ((packed));
178 206
179struct zfcp_dbf_san_record_ct_request {
180 u16 cmd_req_code;
181 u8 revision;
182 u8 gs_type;
183 u8 gs_subtype;
184 u8 options;
185 u16 max_res_size;
186 u32 len;
187 u32 d_id;
188} __attribute__ ((packed));
189
190struct zfcp_dbf_san_record_ct_response {
191 u16 cmd_rsp_code;
192 u8 revision;
193 u8 reason_code;
194 u8 expl;
195 u8 vendor_unique;
196 u16 max_res_size;
197 u32 len;
198} __attribute__ ((packed));
199
200struct zfcp_dbf_san_record_els {
201 u32 d_id;
202} __attribute__ ((packed));
203
204struct zfcp_dbf_san_record {
205 u8 tag[ZFCP_DBF_TAG_SIZE];
206 u64 fsf_reqid;
207 u32 fsf_seqno;
208 union {
209 struct zfcp_dbf_san_record_ct_request ct_req;
210 struct zfcp_dbf_san_record_ct_response ct_resp;
211 struct zfcp_dbf_san_record_els els;
212 } u;
213} __attribute__ ((packed));
214
215#define ZFCP_DBF_SAN_MAX_PAYLOAD 1024
216
217struct zfcp_dbf_scsi_record { 207struct zfcp_dbf_scsi_record {
218 u8 tag[ZFCP_DBF_TAG_SIZE]; 208 u8 tag[ZFCP_DBF_TAG_SIZE];
219 u8 tag2[ZFCP_DBF_TAG_SIZE]; 209 u8 tag2[ZFCP_DBF_TAG_SIZE];
@@ -250,7 +240,7 @@ struct zfcp_dbf {
250 spinlock_t scsi_lock; 240 spinlock_t scsi_lock;
251 struct zfcp_dbf_rec rec_buf; 241 struct zfcp_dbf_rec rec_buf;
252 struct zfcp_dbf_hba_record hba_buf; 242 struct zfcp_dbf_hba_record hba_buf;
253 struct zfcp_dbf_san_record san_buf; 243 struct zfcp_dbf_san san_buf;
254 struct zfcp_dbf_scsi_record scsi_buf; 244 struct zfcp_dbf_scsi_record scsi_buf;
255 struct zfcp_adapter *adapter; 245 struct zfcp_adapter *adapter;
256}; 246};
diff --git a/drivers/s390/scsi/zfcp_ext.h b/drivers/s390/scsi/zfcp_ext.h
index 2d6ee75dfe34..ff7effe55379 100644
--- a/drivers/s390/scsi/zfcp_ext.h
+++ b/drivers/s390/scsi/zfcp_ext.h
@@ -55,11 +55,9 @@ extern void _zfcp_dbf_hba_fsf_unsol(const char *, int level, struct zfcp_dbf *,
55 struct fsf_status_read_buffer *); 55 struct fsf_status_read_buffer *);
56extern void zfcp_dbf_hba_qdio(struct zfcp_dbf *, unsigned int, int, int); 56extern void zfcp_dbf_hba_qdio(struct zfcp_dbf *, unsigned int, int, int);
57extern void zfcp_dbf_hba_berr(struct zfcp_dbf *, struct zfcp_fsf_req *); 57extern void zfcp_dbf_hba_berr(struct zfcp_dbf *, struct zfcp_fsf_req *);
58extern void zfcp_dbf_san_ct_request(struct zfcp_fsf_req *, u32); 58extern void zfcp_dbf_san_req(char *, struct zfcp_fsf_req *, u32);
59extern void zfcp_dbf_san_ct_response(struct zfcp_fsf_req *); 59extern void zfcp_dbf_san_res(char *, struct zfcp_fsf_req *);
60extern void zfcp_dbf_san_els_request(struct zfcp_fsf_req *); 60extern void zfcp_dbf_san_in_els(char *, struct zfcp_fsf_req *);
61extern void zfcp_dbf_san_els_response(struct zfcp_fsf_req *);
62extern void zfcp_dbf_san_incoming_els(struct zfcp_fsf_req *);
63extern void _zfcp_dbf_scsi(const char *, const char *, int, struct zfcp_dbf *, 61extern void _zfcp_dbf_scsi(const char *, const char *, int, struct zfcp_dbf *,
64 struct scsi_cmnd *, struct zfcp_fsf_req *, 62 struct scsi_cmnd *, struct zfcp_fsf_req *,
65 unsigned long); 63 unsigned long);
diff --git a/drivers/s390/scsi/zfcp_fc.c b/drivers/s390/scsi/zfcp_fc.c
index 86fd905df48b..7d44d9c59bdc 100644
--- a/drivers/s390/scsi/zfcp_fc.c
+++ b/drivers/s390/scsi/zfcp_fc.c
@@ -251,7 +251,7 @@ void zfcp_fc_incoming_els(struct zfcp_fsf_req *fsf_req)
251 (struct fsf_status_read_buffer *) fsf_req->data; 251 (struct fsf_status_read_buffer *) fsf_req->data;
252 unsigned int els_type = status_buffer->payload.data[0]; 252 unsigned int els_type = status_buffer->payload.data[0];
253 253
254 zfcp_dbf_san_incoming_els(fsf_req); 254 zfcp_dbf_san_in_els("fciels1", fsf_req);
255 if (els_type == ELS_PLOGI) 255 if (els_type == ELS_PLOGI)
256 zfcp_fc_incoming_plogi(fsf_req); 256 zfcp_fc_incoming_plogi(fsf_req);
257 else if (els_type == ELS_LOGO) 257 else if (els_type == ELS_LOGO)
diff --git a/drivers/s390/scsi/zfcp_fsf.c b/drivers/s390/scsi/zfcp_fsf.c
index 2eb7dd56ab80..6d805c50627f 100644
--- a/drivers/s390/scsi/zfcp_fsf.c
+++ b/drivers/s390/scsi/zfcp_fsf.c
@@ -882,7 +882,7 @@ static void zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *req)
882 882
883 switch (header->fsf_status) { 883 switch (header->fsf_status) {
884 case FSF_GOOD: 884 case FSF_GOOD:
885 zfcp_dbf_san_ct_response(req); 885 zfcp_dbf_san_res("fsscth1", req);
886 ct->status = 0; 886 ct->status = 0;
887 break; 887 break;
888 case FSF_SERVICE_CLASS_NOT_SUPPORTED: 888 case FSF_SERVICE_CLASS_NOT_SUPPORTED:
@@ -1025,7 +1025,7 @@ int zfcp_fsf_send_ct(struct zfcp_fc_wka_port *wka_port,
1025 req->qtcb->header.port_handle = wka_port->handle; 1025 req->qtcb->header.port_handle = wka_port->handle;
1026 req->data = ct; 1026 req->data = ct;
1027 1027
1028 zfcp_dbf_san_ct_request(req, wka_port->d_id); 1028 zfcp_dbf_san_req("fssct_1", req, wka_port->d_id);
1029 1029
1030 ret = zfcp_fsf_req_send(req); 1030 ret = zfcp_fsf_req_send(req);
1031 if (ret) 1031 if (ret)
@@ -1053,7 +1053,7 @@ static void zfcp_fsf_send_els_handler(struct zfcp_fsf_req *req)
1053 1053
1054 switch (header->fsf_status) { 1054 switch (header->fsf_status) {
1055 case FSF_GOOD: 1055 case FSF_GOOD:
1056 zfcp_dbf_san_els_response(req); 1056 zfcp_dbf_san_res("fsselh1", req);
1057 send_els->status = 0; 1057 send_els->status = 0;
1058 break; 1058 break;
1059 case FSF_SERVICE_CLASS_NOT_SUPPORTED: 1059 case FSF_SERVICE_CLASS_NOT_SUPPORTED:
@@ -1127,7 +1127,7 @@ int zfcp_fsf_send_els(struct zfcp_adapter *adapter, u32 d_id,
1127 req->handler = zfcp_fsf_send_els_handler; 1127 req->handler = zfcp_fsf_send_els_handler;
1128 req->data = els; 1128 req->data = els;
1129 1129
1130 zfcp_dbf_san_els_request(req); 1130 zfcp_dbf_san_req("fssels1", req, d_id);
1131 1131
1132 ret = zfcp_fsf_req_send(req); 1132 ret = zfcp_fsf_req_send(req);
1133 if (ret) 1133 if (ret)