From 8d4a2f0a495079e4c0ce2bf7696f055d0c6f8d41 Mon Sep 17 00:00:00 2001 From: Vladislav Bolkhovitin Date: Tue, 6 May 2014 23:22:32 +0000 Subject: [PATCH] Cleanups and logging improvements git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5503 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- iscsi-scst/kernel/iscsi.c | 5 +++-- scst/src/scst_lib.c | 13 ++++++------- scst/src/scst_targ.c | 10 ++++------ 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/iscsi-scst/kernel/iscsi.c b/iscsi-scst/kernel/iscsi.c index 0bddc6dcf..bfeb582a1 100644 --- a/iscsi-scst/kernel/iscsi.c +++ b/iscsi-scst/kernel/iscsi.c @@ -1414,9 +1414,10 @@ static void cmnd_prepare_get_rejected_immed_data(struct iscsi_cmnd *cmnd) TRACE_DBG_FLAG(iscsi_get_flow_ctrl_or_mgmt_dbg_log_flag(cmnd), "Skipping (cmnd %p, ITT %x, op %x, cmd op %x, " - "datasize %u, scst_cmd %p, scst state %d)", cmnd, + "datasize %u, scst_cmd %p, scst state %d, status %d)", cmnd, cmnd->pdu.bhs.itt, cmnd_opcode(cmnd), cmnd_hdr(cmnd)->scb[0], - cmnd->pdu.datasize, cmnd->scst_cmd, cmnd->scst_state); + cmnd->pdu.datasize, cmnd->scst_cmd, cmnd->scst_state, + cmnd->scst_cmd ? cmnd->scst_cmd->status : -1); iscsi_extracheck_is_rd_thread(conn); diff --git a/scst/src/scst_lib.c b/scst/src/scst_lib.c index edb98b9c3..cd7f98eac 100644 --- a/scst/src/scst_lib.c +++ b/scst/src/scst_lib.c @@ -8945,11 +8945,10 @@ static void scst_abort_cmds_tgt_dev(struct scst_tgt_dev *tgt_dev, TRACE_ENTRY(); - TRACE_MGMT_DBG("Aborting commands for tgt_dev %p (exclude_cmd %p)", - tgt_dev, exclude_cmd); + TRACE_MGMT_DBG("QErr: aborting commands for tgt_dev %p " + "(exclude_cmd %p), if there are any", tgt_dev, exclude_cmd); - /* IRQs supposed to be already locked */ - spin_lock(&sess->sess_list_lock); + spin_lock_irq(&sess->sess_list_lock); list_for_each_entry(cmd, &sess->sess_cmd_list, sess_cmd_list_entry) { if (cmd == exclude_cmd) @@ -8960,7 +8959,7 @@ static void scst_abort_cmds_tgt_dev(struct scst_tgt_dev *tgt_dev, scst_abort_cmd(cmd, NULL, (tgt_dev != exclude_cmd->tgt_dev), 0); } } - spin_unlock(&sess->sess_list_lock); + spin_unlock_irq(&sess->sess_list_lock); TRACE_EXIT(); return; @@ -8977,8 +8976,8 @@ static void scst_abort_cmds_dev(struct scst_device *dev, TRACE_ENTRY(); - TRACE_MGMT_DBG("Aborting commands for dev %p (exclude_cmd %p, set_ua %d)", - dev, exclude_cmd, set_ua); + TRACE_MGMT_DBG("QErr: Aborting commands for dev %p (exclude_cmd %p, " + "set_ua %d), if there are any", dev, exclude_cmd, set_ua); if (set_ua) sl = scst_set_sense(sense_buffer, sizeof(sense_buffer), dev->d_sense, diff --git a/scst/src/scst_targ.c b/scst/src/scst_targ.c index a1faae4de..c3aa798b0 100644 --- a/scst/src/scst_targ.c +++ b/scst/src/scst_targ.c @@ -874,13 +874,13 @@ set_res: TRACE(TRACE_SCSI, "op_name <%s> (cmd %p), direction=%d " "(expected %d, set %s), lba=%lld, bufflen=%d, data len %lld, " "out_bufflen=%d, (expected len %d, out expected len %d), " - "flags=0x%x, internal %d", cmd->op_name, cmd, + "flags=0x%x, internal %d, naca %d", cmd->op_name, cmd, cmd->data_direction, cmd->expected_data_direction, scst_cmd_is_expected_set(cmd) ? "yes" : "no", (unsigned long long)cmd->lba, cmd->bufflen, (long long)cmd->data_len, cmd->out_bufflen, cmd->expected_transfer_len, cmd->expected_out_transfer_len, - cmd->op_flags, cmd->internal); + cmd->op_flags, cmd->internal, cmd->cmd_naca); #ifdef CONFIG_SCST_EXTRACHECKS switch (state) { @@ -995,9 +995,7 @@ out: TRACE_MGMT_DBG("Black hole: aborting cmd %p (op %s, " "initiator %s)", cmd, scst_get_opcode_name(cmd), sess->initiator_name); - spin_lock_irq(&sess->sess_list_lock); scst_abort_cmd(cmd, NULL, false, false); - spin_unlock_irq(&sess->sess_list_lock); } } @@ -5266,8 +5264,8 @@ static inline int scst_is_strict_mgmt_fn(int mgmt_fn) } /* - * Must be called under sess_list_lock to sync with finished flag assignment in - * scst_finish_cmd() + * If mcmd != NULL, must be called under sess_list_lock to sync with "finished" + * flag assignment in scst_finish_cmd() */ void scst_abort_cmd(struct scst_cmd *cmd, struct scst_mgmt_cmd *mcmd, bool other_ini, bool call_dev_task_mgmt_fn_received)