diff options
author | Christof Schmitt <christof.schmitt@de.ibm.com> | 2010-02-17 11:18:57 +0100 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-02-17 17:46:31 -0600 |
commit | ab72528a4498251a702fa7693b51b9311b2432f8 (patch) | |
tree | 3413362ef1838a6ddbf2ab6316685a18c547ba66 /drivers/s390/scsi/zfcp_dbf.h | |
parent | 615f59e0daaf56e43dcaaf3ea228967d9bc21584 (diff) | |
download | blackbird-op-linux-ab72528a4498251a702fa7693b51b9311b2432f8.tar.gz blackbird-op-linux-ab72528a4498251a702fa7693b51b9311b2432f8.zip |
[SCSI] zfcp: Move scsi result tracing decision to zfcp_dbf.h
Move the decision which trace tag and trace level to use for the scsi
result trace to zfcp_dbf.h. zfcp_dbf_scsi_result is already an inline
function, so move the trace code there, simplifying the response
handling in zfcp_fsf.c.
Reviewed-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/scsi/zfcp_dbf.h')
-rw-r--r-- | drivers/s390/scsi/zfcp_dbf.h | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/drivers/s390/scsi/zfcp_dbf.h b/drivers/s390/scsi/zfcp_dbf.h index ca841ee44c15..457e046f2d28 100644 --- a/drivers/s390/scsi/zfcp_dbf.h +++ b/drivers/s390/scsi/zfcp_dbf.h @@ -303,17 +303,31 @@ void zfcp_dbf_scsi(const char *tag, const char *tag2, int level, /** * zfcp_dbf_scsi_result - trace event for SCSI command completion - * @tag: tag indicating success or failure of SCSI command - * @level: trace level applicable for this event - * @adapter: adapter that has been used to issue the SCSI command + * @dbf: adapter dbf trace * @scmd: SCSI command pointer - * @fsf_req: request used to issue SCSI command (might be NULL) + * @req: FSF request used to issue SCSI command */ static inline -void zfcp_dbf_scsi_result(const char *tag, int level, struct zfcp_dbf *dbf, - struct scsi_cmnd *scmd, struct zfcp_fsf_req *fsf_req) +void zfcp_dbf_scsi_result(struct zfcp_dbf *dbf, struct scsi_cmnd *scmd, + struct zfcp_fsf_req *req) { - zfcp_dbf_scsi("rslt", tag, level, dbf, scmd, fsf_req, 0); + if (scmd->result != 0) + zfcp_dbf_scsi("rslt", "erro", 3, dbf, scmd, req, 0); + else if (scmd->retries > 0) + zfcp_dbf_scsi("rslt", "retr", 4, dbf, scmd, req, 0); + else + zfcp_dbf_scsi("rslt", "norm", 6, dbf, scmd, req, 0); +} + +/** + * zfcp_dbf_scsi_fail_send - trace event for failure to send SCSI command + * @dbf: adapter dbf trace + * @scmd: SCSI command pointer + */ +static inline +void zfcp_dbf_scsi_fail_send(struct zfcp_dbf *dbf, struct scsi_cmnd *scmd) +{ + zfcp_dbf_scsi("rslt", "fail", 4, dbf, scmd, NULL, 0); } /** |