Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 161071
b: refs/heads/master
c: dcd20e2
h: refs/heads/master
i:
  161069: f4f51db
  161067: 565d417
  161063: 7186606
  161055: 85a394c
v: v3
  • Loading branch information
Christof Schmitt authored and James Bottomley committed Sep 5, 2009
1 parent 619428c commit 653d740
Show file tree
Hide file tree
Showing 6 changed files with 74 additions and 64 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d46f384a89c2378cb7858747faa1935db17e22a8
refs/heads/master: dcd20e2316cdc333dfdee09649dbe3642eb30e75
58 changes: 4 additions & 54 deletions trunk/drivers/s390/scsi/zfcp_dbf.c
Original file line number Diff line number Diff line change
Expand Up @@ -921,13 +921,11 @@ static struct debug_view zfcp_san_dbf_view = {
NULL
};

static void zfcp_scsi_dbf_event(const char *tag, const char *tag2, int level,
struct zfcp_adapter *adapter,
struct scsi_cmnd *scsi_cmnd,
struct zfcp_fsf_req *fsf_req,
unsigned long old_req_id)
void _zfcp_scsi_dbf_event(const char *tag, const char *tag2, int level,
struct zfcp_dbf *dbf, struct scsi_cmnd *scsi_cmnd,
struct zfcp_fsf_req *fsf_req,
unsigned long old_req_id)
{
struct zfcp_dbf *dbf = adapter->dbf;
struct zfcp_scsi_dbf_record *rec = &dbf->scsi_dbf_buf;
struct zfcp_dbf_dump *dump = (struct zfcp_dbf_dump *)rec;
unsigned long flags;
Expand Down Expand Up @@ -999,54 +997,6 @@ static void zfcp_scsi_dbf_event(const char *tag, const char *tag2, int level,
spin_unlock_irqrestore(&dbf->scsi_dbf_lock, flags);
}

/**
* zfcp_scsi_dbf_event_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
* @scsi_cmnd: SCSI command pointer
* @fsf_req: request used to issue SCSI command (might be NULL)
*/
void zfcp_scsi_dbf_event_result(const char *tag, int level,
struct zfcp_adapter *adapter,
struct scsi_cmnd *scsi_cmnd,
struct zfcp_fsf_req *fsf_req)
{
zfcp_scsi_dbf_event("rslt", tag, level, adapter, scsi_cmnd, fsf_req, 0);
}

/**
* zfcp_scsi_dbf_event_abort - trace event for SCSI command abort
* @tag: tag indicating success or failure of abort operation
* @adapter: adapter thas has been used to issue SCSI command to be aborted
* @scsi_cmnd: SCSI command to be aborted
* @new_fsf_req: request containing abort (might be NULL)
* @old_req_id: identifier of request containg SCSI command to be aborted
*/
void zfcp_scsi_dbf_event_abort(const char *tag, struct zfcp_adapter *adapter,
struct scsi_cmnd *scsi_cmnd,
struct zfcp_fsf_req *new_fsf_req,
unsigned long old_req_id)
{
zfcp_scsi_dbf_event("abrt", tag, 1, adapter, scsi_cmnd, new_fsf_req,
old_req_id);
}

/**
* zfcp_scsi_dbf_event_devreset - trace event for Logical Unit or Target Reset
* @tag: tag indicating success or failure of reset operation
* @flag: indicates type of reset (Target Reset, Logical Unit Reset)
* @unit: unit that needs reset
* @scsi_cmnd: SCSI command which caused this error recovery
*/
void zfcp_scsi_dbf_event_devreset(const char *tag, u8 flag,
struct zfcp_unit *unit,
struct scsi_cmnd *scsi_cmnd)
{
zfcp_scsi_dbf_event(flag == FCP_TARGET_RESET ? "trst" : "lrst", tag, 1,
unit->port->adapter, scsi_cmnd, NULL, 0);
}

static int zfcp_scsi_dbf_view_format(debug_info_t *id, struct debug_view *view,
char *out_buf, const char *in_buf)
{
Expand Down
63 changes: 63 additions & 0 deletions trunk/drivers/s390/scsi/zfcp_dbf.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,9 @@
#ifndef ZFCP_DBF_H
#define ZFCP_DBF_H

#include "zfcp_ext.h"
#include "zfcp_fsf.h"
#include "zfcp_def.h"

#define ZFCP_DBF_TAG_SIZE 4
#define ZFCP_DBF_ID_SIZE 7
Expand Down Expand Up @@ -237,4 +239,65 @@ struct zfcp_dbf {
struct zfcp_scsi_dbf_record scsi_dbf_buf;
};

static inline
void zfcp_scsi_dbf_event(const char *tag, const char *tag2, int level,
struct zfcp_adapter *adapter, struct scsi_cmnd *scmd,
struct zfcp_fsf_req *req, unsigned long old_id)
{
struct zfcp_dbf *dbf = adapter->dbf;

if (level <= dbf->scsi_dbf->level)
_zfcp_scsi_dbf_event(tag, tag2, level, dbf, scmd, req, old_id);
}

/**
* zfcp_scsi_dbf_event_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
* @scmd: SCSI command pointer
* @fsf_req: request used to issue SCSI command (might be NULL)
*/
static inline
void zfcp_scsi_dbf_event_result(const char *tag, int level,
struct zfcp_adapter *adapter,
struct scsi_cmnd *scmd,
struct zfcp_fsf_req *fsf_req)
{
zfcp_scsi_dbf_event("rslt", tag, level, adapter, scmd, fsf_req, 0);
}

/**
* zfcp_scsi_dbf_event_abort - trace event for SCSI command abort
* @tag: tag indicating success or failure of abort operation
* @adapter: adapter thas has been used to issue SCSI command to be aborted
* @scmd: SCSI command to be aborted
* @new_req: request containing abort (might be NULL)
* @old_id: identifier of request containg SCSI command to be aborted
*/
static inline
void zfcp_scsi_dbf_event_abort(const char *tag, struct zfcp_adapter *adapter,
struct scsi_cmnd *scmd,
struct zfcp_fsf_req *new_req,
unsigned long old_id)
{
zfcp_scsi_dbf_event("abrt", tag, 1, adapter, scmd, new_req, old_id);
}

/**
* zfcp_scsi_dbf_event_devreset - trace event for Logical Unit or Target Reset
* @tag: tag indicating success or failure of reset operation
* @flag: indicates type of reset (Target Reset, Logical Unit Reset)
* @unit: unit that needs reset
* @scsi_cmnd: SCSI command which caused this error recovery
*/
static inline
void zfcp_scsi_dbf_event_devreset(const char *tag, u8 flag,
struct zfcp_unit *unit,
struct scsi_cmnd *scsi_cmnd)
{
zfcp_scsi_dbf_event(flag == FCP_TARGET_RESET ? "trst" : "lrst", tag, 1,
unit->port->adapter, scsi_cmnd, NULL, 0);
}

#endif /* ZFCP_DBF_H */
11 changes: 3 additions & 8 deletions trunk/drivers/s390/scsi/zfcp_ext.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,14 +57,9 @@ extern void zfcp_san_dbf_event_ct_response(struct zfcp_fsf_req *);
extern void zfcp_san_dbf_event_els_request(struct zfcp_fsf_req *);
extern void zfcp_san_dbf_event_els_response(struct zfcp_fsf_req *);
extern void zfcp_san_dbf_event_incoming_els(struct zfcp_fsf_req *);
extern void zfcp_scsi_dbf_event_result(const char *, int, struct zfcp_adapter *,
struct scsi_cmnd *,
struct zfcp_fsf_req *);
extern void zfcp_scsi_dbf_event_abort(const char *, struct zfcp_adapter *,
struct scsi_cmnd *, struct zfcp_fsf_req *,
unsigned long);
extern void zfcp_scsi_dbf_event_devreset(const char *, u8, struct zfcp_unit *,
struct scsi_cmnd *);
extern void _zfcp_scsi_dbf_event(const char *, const char *, int,
struct zfcp_dbf *, struct scsi_cmnd *,
struct zfcp_fsf_req *, unsigned long);

/* zfcp_erp.c */
extern void zfcp_erp_modify_adapter_status(struct zfcp_adapter *, char *,
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/s390/scsi/zfcp_fsf.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

#include <linux/blktrace_api.h>
#include "zfcp_ext.h"
#include "zfcp_dbf.h"

#define ZFCP_REQ_AUTO_CLEANUP 0x00000002
#define ZFCP_REQ_NO_QTCB 0x00000008
Expand Down
3 changes: 2 additions & 1 deletion trunk/drivers/s390/scsi/zfcp_scsi.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@
#define KMSG_COMPONENT "zfcp"
#define pr_fmt(fmt) KMSG_COMPONENT ": " fmt

#include "zfcp_ext.h"
#include <asm/atomic.h>
#include "zfcp_ext.h"
#include "zfcp_dbf.h"

static unsigned int default_depth = 32;
module_param_named(queue_depth, default_depth, uint, 0600);
Expand Down

0 comments on commit 653d740

Please sign in to comment.