void zfcp_dbf_san_res(char *tag, struct zfcp_fsf_req *fsf) { struct zfcp_dbf *dbf = fsf->adapter->dbf; struct zfcp_fsf_ct_els *ct_els = fsf->data; u16 length; length = (u16)(ct_els->resp->length + FC_CT_HDR_LEN); zfcp_dbf_san(tag, dbf, sg_virt(ct_els->resp), ZFCP_DBF_SAN_RES, length, fsf->req_id, 0); }
/** * zfcp_dbf_san_req - trace event for issued SAN request * @tag: identifier for event * @fsf_req: request containing issued CT data * d_id: destination ID */ void zfcp_dbf_san_req(char *tag, struct zfcp_fsf_req *fsf, u32 d_id) { struct zfcp_dbf *dbf = fsf->adapter->dbf; struct zfcp_fsf_ct_els *ct_els = fsf->data; u16 length; length = (u16)zfcp_qdio_real_bytes(ct_els->req); zfcp_dbf_san(tag, dbf, "san_req", ct_els->req, ZFCP_DBF_SAN_REQ, length, fsf->req_id, d_id, length); }
/** * zfcp_dbf_san_res - trace event for received SAN request * @tag: identifier for event * @fsf_req: request containing issued CT data */ void zfcp_dbf_san_res(char *tag, struct zfcp_fsf_req *fsf) { struct zfcp_dbf *dbf = fsf->adapter->dbf; struct zfcp_fsf_ct_els *ct_els = fsf->data; u16 length; length = (u16)zfcp_qdio_real_bytes(ct_els->resp); zfcp_dbf_san(tag, dbf, "san_res", ct_els->resp, ZFCP_DBF_SAN_RES, length, fsf->req_id, ct_els->d_id, zfcp_dbf_san_res_cap_len_if_gpn_ft(tag, fsf, length)); }
void zfcp_dbf_san_in_els(char *tag, struct zfcp_fsf_req *fsf) { struct zfcp_dbf *dbf = fsf->adapter->dbf; struct fsf_status_read_buffer *srb = (struct fsf_status_read_buffer *) fsf->data; u16 length; length = (u16)(srb->length - offsetof(struct fsf_status_read_buffer, payload)); zfcp_dbf_san(tag, dbf, srb->payload.data, ZFCP_DBF_SAN_ELS, length, fsf->req_id, ntoh24(srb->d_id)); }
/** * zfcp_dbf_san_req - trace event for issued SAN request * @tag: identifier for event * @fsf_req: request containing issued CT data * d_id: destination ID */ void zfcp_dbf_san_req(char *tag, struct zfcp_fsf_req *fsf, u32 d_id) { struct zfcp_dbf *dbf = fsf->adapter->dbf; struct zfcp_fsf_ct_els *ct_els = fsf->data; u16 length; if (unlikely(!debug_level_enabled(dbf->san, ZFCP_DBF_SAN_LEVEL))) return; length = (u16)zfcp_qdio_real_bytes(ct_els->req); zfcp_dbf_san(tag, dbf, "san_req", ct_els->req, ZFCP_DBF_SAN_REQ, length, fsf->req_id, d_id, length); }
/** * zfcp_dbf_san_res - trace event for received SAN request * @tag: identifier for event * @fsf_req: request containing issued CT data */ void zfcp_dbf_san_res(char *tag, struct zfcp_fsf_req *fsf) { struct zfcp_dbf *dbf = fsf->adapter->dbf; struct zfcp_fsf_ct_els *ct_els = fsf->data; u16 length; if (unlikely(!debug_level_enabled(dbf->san, ZFCP_DBF_SAN_LEVEL))) return; length = (u16)zfcp_qdio_real_bytes(ct_els->resp); zfcp_dbf_san(tag, dbf, "san_res", ct_els->resp, ZFCP_DBF_SAN_RES, length, fsf->req_id, ct_els->d_id, zfcp_dbf_san_res_cap_len_if_gpn_ft(tag, fsf, length)); }
/** * zfcp_dbf_san_in_els - trace event for incoming ELS * @tag: identifier for event * @fsf_req: request containing issued CT data */ void zfcp_dbf_san_in_els(char *tag, struct zfcp_fsf_req *fsf) { struct zfcp_dbf *dbf = fsf->adapter->dbf; struct fsf_status_read_buffer *srb = (struct fsf_status_read_buffer *) fsf->data; u16 length; struct scatterlist sg; if (unlikely(!debug_level_enabled(dbf->san, ZFCP_DBF_SAN_LEVEL))) return; length = (u16)(srb->length - offsetof(struct fsf_status_read_buffer, payload)); sg_init_one(&sg, srb->payload.data, length); zfcp_dbf_san(tag, dbf, "san_els", &sg, ZFCP_DBF_SAN_ELS, length, fsf->req_id, ntoh24(srb->d_id), length); }