mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-17 02:31:27 +00:00
Logging cleanup
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3662 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -38,12 +38,8 @@
|
||||
|
||||
#define TRACE_RTRY 0x80000000
|
||||
#define TRACE_SCSI_SERIALIZING 0x40000000
|
||||
/** top being the edge away from the interrupt */
|
||||
#define TRACE_SND_TOP 0x20000000
|
||||
#define TRACE_RCV_TOP 0x01000000
|
||||
/** bottom being the edge toward the interrupt */
|
||||
#define TRACE_SND_BOT 0x08000000
|
||||
#define TRACE_RCV_BOT 0x04000000
|
||||
#define TRACE_DATA_SEND 0x20000000
|
||||
#define TRACE_DATA_RECEIVED 0x01000000
|
||||
|
||||
#if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
|
||||
#define trace_flag scst_trace_flag
|
||||
@@ -58,10 +54,6 @@ extern unsigned long scst_trace_flag;
|
||||
|
||||
#define TRACE_RETRY(args...) TRACE_DBG_FLAG(TRACE_RTRY, args)
|
||||
#define TRACE_SN(args...) TRACE_DBG_FLAG(TRACE_SCSI_SERIALIZING, args)
|
||||
#define TRACE_SEND_TOP(args...) TRACE_DBG_FLAG(TRACE_SND_TOP, args)
|
||||
#define TRACE_RECV_TOP(args...) TRACE_DBG_FLAG(TRACE_RCV_TOP, args)
|
||||
#define TRACE_SEND_BOT(args...) TRACE_DBG_FLAG(TRACE_SND_BOT, args)
|
||||
#define TRACE_RECV_BOT(args...) TRACE_DBG_FLAG(TRACE_RCV_BOT, args)
|
||||
|
||||
#else /* CONFIG_SCST_DEBUG */
|
||||
|
||||
@@ -74,10 +66,6 @@ extern unsigned long scst_trace_flag;
|
||||
|
||||
#define TRACE_RETRY(args...)
|
||||
#define TRACE_SN(args...)
|
||||
#define TRACE_SEND_TOP(args...)
|
||||
#define TRACE_RECV_TOP(args...)
|
||||
#define TRACE_SEND_BOT(args...)
|
||||
#define TRACE_RECV_BOT(args...)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -126,10 +126,8 @@ static struct scst_trace_log scst_proc_trace_tbl[] = {
|
||||
static struct scst_trace_log scst_proc_local_trace_tbl[] = {
|
||||
{ TRACE_RTRY, "retry" },
|
||||
{ TRACE_SCSI_SERIALIZING, "scsi_serializing" },
|
||||
{ TRACE_RCV_BOT, "recv_bot" },
|
||||
{ TRACE_SND_BOT, "send_bot" },
|
||||
{ TRACE_RCV_TOP, "recv_top" },
|
||||
{ TRACE_SND_TOP, "send_top" },
|
||||
{ TRACE_DATA_SEND, "data_send" },
|
||||
{ TRACE_DATA_RECEIVED, "data_received" },
|
||||
{ 0, NULL }
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -89,14 +89,11 @@ static struct scst_trace_log scst_trace_tbl[] = {
|
||||
static struct scst_trace_log scst_local_trace_tbl[] = {
|
||||
{ TRACE_RTRY, "retry" },
|
||||
{ TRACE_SCSI_SERIALIZING, "scsi_serializing" },
|
||||
{ TRACE_RCV_BOT, "recv_bot" },
|
||||
{ TRACE_SND_BOT, "send_bot" },
|
||||
{ TRACE_RCV_TOP, "recv_top" },
|
||||
{ TRACE_SND_TOP, "send_top" },
|
||||
{ TRACE_DATA_SEND, "data_send" },
|
||||
{ TRACE_DATA_RECEIVED, "data_received" },
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
|
||||
static void scst_read_trace_tbl(const struct scst_trace_log *tbl, char *buf,
|
||||
unsigned long log_level, int *pos)
|
||||
{
|
||||
|
||||
@@ -349,8 +349,7 @@ void scst_cmd_init_done(struct scst_cmd *cmd,
|
||||
"(cmd %p, sess %p)", (long long unsigned int)cmd->tag,
|
||||
(long long unsigned int)cmd->lun, cmd->cdb_len,
|
||||
cmd->queue_type, cmd, sess);
|
||||
PRINT_BUFF_FLAG(TRACE_SCSI|TRACE_RCV_BOT, "Receiving CDB",
|
||||
cmd->cdb, cmd->cdb_len);
|
||||
PRINT_BUFF_FLAG(TRACE_SCSI, "Receiving CDB", cmd->cdb, cmd->cdb_len);
|
||||
|
||||
#ifdef CONFIG_SCST_EXTRACHECKS
|
||||
if (unlikely((in_irq() || irqs_disabled())) &&
|
||||
@@ -578,8 +577,6 @@ static int scst_parse_cmd(struct scst_cmd *cmd)
|
||||
|
||||
TRACE_DBG("Calling dev handler %s parse(%p)",
|
||||
devt->name, cmd);
|
||||
TRACE_BUFF_FLAG(TRACE_SND_BOT, "Parsing: ",
|
||||
cmd->cdb, cmd->cdb_len);
|
||||
scst_set_cur_start(cmd);
|
||||
state = devt->parse(cmd);
|
||||
/* Caution: cmd can be already dead here */
|
||||
@@ -1417,34 +1414,6 @@ void scst_rx_data(struct scst_cmd *cmd, int status,
|
||||
|
||||
switch (status) {
|
||||
case SCST_RX_STATUS_SUCCESS:
|
||||
#if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
|
||||
if (trace_flag & TRACE_RCV_BOT) {
|
||||
int i, j;
|
||||
struct scatterlist *sg;
|
||||
if (cmd->out_sg != NULL)
|
||||
sg = cmd->out_sg;
|
||||
else if (cmd->tgt_out_sg != NULL)
|
||||
sg = cmd->tgt_out_sg;
|
||||
else if (cmd->tgt_sg != NULL)
|
||||
sg = cmd->tgt_sg;
|
||||
else
|
||||
sg = cmd->sg;
|
||||
if (sg != NULL) {
|
||||
TRACE_RECV_BOT("RX data for cmd %p "
|
||||
"(sg_cnt %d, sg %p, sg[0].page %p)",
|
||||
cmd, cmd->tgt_sg_cnt, sg,
|
||||
(void *)sg_page(&sg[0]));
|
||||
for (i = 0, j = 0; i < cmd->tgt_sg_cnt; ++i, ++j) {
|
||||
if (unlikely(sg_is_chain(&sg[j]))) {
|
||||
sg = sg_chain_ptr(&sg[j]);
|
||||
j = 0;
|
||||
}
|
||||
PRINT_BUFF_FLAG(TRACE_RCV_BOT, "RX sg",
|
||||
sg_virt(&sg[j]), sg[j].length);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
cmd->state = SCST_CMD_STATE_TGT_PRE_EXEC;
|
||||
|
||||
#ifdef CONFIG_SCST_TEST_IO_IN_SIRQ
|
||||
@@ -1496,6 +1465,42 @@ static int scst_tgt_pre_exec(struct scst_cmd *cmd)
|
||||
|
||||
TRACE_ENTRY();
|
||||
|
||||
#if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
|
||||
if (unlikely(trace_flag & TRACE_DATA_RECEIVED) &&
|
||||
(cmd->data_direction & SCST_DATA_WRITE)) {
|
||||
int i, j, sg_cnt;
|
||||
struct scatterlist *sg;
|
||||
|
||||
if (cmd->out_sg != NULL) {
|
||||
sg = cmd->out_sg;
|
||||
sg_cnt = cmd->out_sg_cnt;
|
||||
} else if (cmd->tgt_out_sg != NULL) {
|
||||
sg = cmd->tgt_out_sg;
|
||||
sg_cnt = cmd->tgt_out_sg_cnt;
|
||||
} else if (cmd->tgt_sg != NULL) {
|
||||
sg = cmd->tgt_sg;
|
||||
sg_cnt = cmd->tgt_sg_cnt;
|
||||
} else {
|
||||
sg = cmd->sg;
|
||||
sg_cnt = cmd->sg_cnt;
|
||||
}
|
||||
if (sg != NULL) {
|
||||
PRINT_INFO("Received data for cmd %p (sg_cnt %d, "
|
||||
"sg %p, sg[0].page %p)", cmd, sg_cnt, sg,
|
||||
(void *)sg_page(&sg[0]));
|
||||
for (i = 0, j = 0; i < sg_cnt; ++i, ++j) {
|
||||
if (unlikely(sg_is_chain(&sg[j]))) {
|
||||
sg = sg_chain_ptr(&sg[j]);
|
||||
j = 0;
|
||||
}
|
||||
PRINT_INFO("sg %d", j);
|
||||
PRINT_BUFFER("data", sg_virt(&sg[j]),
|
||||
sg[j].length);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if (unlikely(cmd->resid_possible)) {
|
||||
if (cmd->data_direction & SCST_DATA_WRITE) {
|
||||
bool do_zero = false;
|
||||
@@ -1649,26 +1654,6 @@ static void scst_cmd_done_local(struct scst_cmd *cmd, int next_state,
|
||||
if (next_state == SCST_CMD_STATE_DEFAULT)
|
||||
next_state = SCST_CMD_STATE_PRE_DEV_DONE;
|
||||
|
||||
#if defined(CONFIG_SCST_DEBUG)
|
||||
if (next_state == SCST_CMD_STATE_PRE_DEV_DONE) {
|
||||
if ((trace_flag & TRACE_RCV_TOP) && (cmd->sg != NULL)) {
|
||||
int i, j;
|
||||
struct scatterlist *sg = cmd->sg;
|
||||
TRACE_RECV_TOP("Exec'd %d S/G(s) at %p sg[0].page at "
|
||||
"%p", cmd->sg_cnt, sg, (void *)sg_page(&sg[0]));
|
||||
for (i = 0, j = 0; i < cmd->sg_cnt; ++i, ++j) {
|
||||
if (unlikely(sg_is_chain(&sg[j]))) {
|
||||
sg = sg_chain_ptr(&sg[j]);
|
||||
j = 0;
|
||||
}
|
||||
TRACE_BUFF_FLAG(TRACE_RCV_TOP,
|
||||
"Exec'd sg", sg_virt(&sg[j]),
|
||||
sg[j].length);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
cmd->state = next_state;
|
||||
|
||||
#ifdef CONFIG_SCST_EXTRACHECKS
|
||||
@@ -2519,8 +2504,6 @@ static int scst_do_real_exec(struct scst_cmd *cmd)
|
||||
if (devt->exec) {
|
||||
TRACE_DBG("Calling dev handler %s exec(%p)",
|
||||
devt->name, cmd);
|
||||
TRACE_BUFF_FLAG(TRACE_SND_TOP, "Execing: ", cmd->cdb,
|
||||
cmd->cdb_len);
|
||||
scst_set_cur_start(cmd);
|
||||
res = devt->exec(cmd);
|
||||
TRACE_DBG("Dev handler %s exec() returned %d",
|
||||
@@ -3499,27 +3482,30 @@ static int scst_xmit_response(struct scst_cmd *cmd)
|
||||
TRACE_DBG("Calling xmit_response(%p)", cmd);
|
||||
|
||||
#if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
|
||||
if (trace_flag & TRACE_SND_BOT) {
|
||||
int i, j;
|
||||
if (unlikely(trace_flag & TRACE_DATA_SEND) &&
|
||||
(cmd->data_direction & SCST_DATA_READ)) {
|
||||
int i, j, sg_cnt;
|
||||
struct scatterlist *sg;
|
||||
if (cmd->tgt_sg != NULL)
|
||||
if (cmd->tgt_sg != NULL) {
|
||||
sg = cmd->tgt_sg;
|
||||
else
|
||||
sg_cnt = cmd->tgt_sg_cnt;
|
||||
} else {
|
||||
sg = cmd->sg;
|
||||
sg_cnt = cmd->sg_cnt;
|
||||
}
|
||||
if (sg != NULL) {
|
||||
TRACE(TRACE_SND_BOT, "Xmitting data for cmd %p "
|
||||
PRINT_INFO("Xmitting data for cmd %p "
|
||||
"(sg_cnt %d, sg %p, sg[0].page %p, buf %p, "
|
||||
"resp len %d)", cmd, cmd->tgt_sg_cnt,
|
||||
sg, (void *)sg_page(&sg[0]), sg_virt(sg),
|
||||
"resp len %d)", cmd, sg_cnt, sg,
|
||||
(void *)sg_page(&sg[0]), sg_virt(sg),
|
||||
cmd->resp_data_len);
|
||||
for (i = 0, j = 0; i < cmd->tgt_sg_cnt; ++i, ++j) {
|
||||
for (i = 0, j = 0; i < sg_cnt; ++i, ++j) {
|
||||
if (unlikely(sg_is_chain(&sg[j]))) {
|
||||
sg = sg_chain_ptr(&sg[j]);
|
||||
j = 0;
|
||||
}
|
||||
TRACE(TRACE_SND_BOT, "sg %d", j);
|
||||
PRINT_BUFF_FLAG(TRACE_SND_BOT,
|
||||
"Xmitting sg", sg_virt(&sg[j]),
|
||||
PRINT_INFO("sg %d", j);
|
||||
PRINT_BUFFER("data", sg_virt(&sg[j]),
|
||||
sg[j].length);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user