scst: Simplify the data buffer tracing code

Signed-off-by: Bart Van Assche <bvanassche@acm.org>




git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4672 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Vladislav Bolkhovitin
2012-12-28 23:39:19 +00:00
parent e2245ce384
commit df5faa838e
2 changed files with 17 additions and 20 deletions

View File

@@ -3743,6 +3743,12 @@ static inline struct scatterlist *sg_next(struct scatterlist *sg)
return sg;
}
#ifndef for_each_sg
/* See also commit 96b418c960af0d5c7185ff5c4af9376eb37ac9d3 */
#define for_each_sg(sglist, sg, nr, __i) \
for (__i = 0, sg = (sglist); __i < (nr); __i++, sg = sg_next(sg))
#endif
#endif /* __BACKPORT_LINUX_SCATTERLIST_H_TO_2_6_23__ */
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 24) */

View File

@@ -1501,8 +1501,8 @@ static int scst_tgt_pre_exec(struct scst_cmd *cmd)
#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;
int i, sg_cnt;
struct scatterlist *sg, *sgi;
if (cmd->out_sg != NULL) {
sg = cmd->out_sg;
@@ -1521,14 +1521,9 @@ static int scst_tgt_pre_exec(struct scst_cmd *cmd)
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);
for_each_sg(sg, sgi, sg_cnt, i) {
PRINT_INFO("sg %d", i);
PRINT_BUFFER("data", sg_virt(sgi), sgi->length);
}
}
}
@@ -3554,8 +3549,8 @@ static int scst_xmit_response(struct scst_cmd *cmd)
#if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING)
if (unlikely(trace_flag & TRACE_DATA_SEND) &&
(cmd->data_direction & SCST_DATA_READ)) {
int i, j, sg_cnt;
struct scatterlist *sg;
int i, sg_cnt;
struct scatterlist *sg, *sgi;
if (cmd->tgt_i_sg != NULL) {
sg = cmd->tgt_i_sg;
sg_cnt = cmd->tgt_i_sg_cnt;
@@ -3569,14 +3564,10 @@ static int scst_xmit_response(struct scst_cmd *cmd)
"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 < 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);
for_each_sg(sg, sgi, sg_cnt, i) {
PRINT_INFO("sg %d", i);
PRINT_BUFFER("data", sg_virt(sgi),
sgi->length);
}
}
}