Re: [PATCH v2] target: Remove first argument of target_{get,put}_sess_cmd()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/14/2015 10:19 AM, Bart Van Assche wrote:
The first argument of these two functions is always identical
to se_cmd->se_sess so remove the first argument.

Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: Andy Grover <agrover@xxxxxxxxxx>
Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Cc: <qla2xxx-upstream@xxxxxxxxxx>
Cc: Felipe Balbi <balbi@xxxxxx>
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
---

Changes compared to v1:
- Restored target_{get,put}_sess_cmd() function names.
- Restored session pointer NULL check.
- Extended CC list.

  drivers/infiniband/ulp/isert/ib_isert.c      |  6 +++---
  drivers/infiniband/ulp/srpt/ib_srpt.c        | 10 +++++-----
  drivers/scsi/qla2xxx/tcm_qla2xxx.c           |  2 +-
  drivers/target/iscsi/iscsi_target.c          | 15 +++++++--------
  drivers/target/iscsi/iscsi_target_configfs.c |  2 +-
  drivers/target/iscsi/iscsi_target_util.c     |  4 ++--
  drivers/target/target_core_tmr.c             |  2 +-
  drivers/target/target_core_transport.c       | 23 ++++++++++++-----------
  drivers/vhost/scsi.c                         |  2 +-
  include/target/target_core_fabric.h          |  4 ++--
  10 files changed, 35 insertions(+), 35 deletions(-)

diff --git a/drivers/infiniband/ulp/isert/ib_isert.c b/drivers/infiniband/ulp/isert/ib_isert.c
index 327529e..5287eff 100644
--- a/drivers/infiniband/ulp/isert/ib_isert.c
+++ b/drivers/infiniband/ulp/isert/ib_isert.c
@@ -1332,7 +1332,7 @@ sequence_cmd:
  	if (!rc && dump_payload == false && unsol_data)
  		iscsit_set_unsoliticed_dataout(cmd);
  	else if (dump_payload && imm_data)
-		target_put_sess_cmd(conn->sess->se_sess, &cmd->se_cmd);
+		target_put_sess_cmd(&cmd->se_cmd);

  	return 0;
  }
@@ -1757,7 +1757,7 @@ isert_put_cmd(struct isert_cmd *isert_cmd, bool comp_err)
  			    cmd->se_cmd.t_state == TRANSPORT_WRITE_PENDING) {
  				struct se_cmd *se_cmd = &cmd->se_cmd;

-				target_put_sess_cmd(se_cmd->se_sess, se_cmd);
+				target_put_sess_cmd(se_cmd);
  			}
  		}

@@ -1930,7 +1930,7 @@ isert_completion_rdma_read(struct iser_tx_desc *tx_desc,
  	spin_unlock_bh(&cmd->istate_lock);

  	if (ret) {
-		target_put_sess_cmd(se_cmd->se_sess, se_cmd);
+		target_put_sess_cmd(se_cmd);
  		transport_send_check_condition_and_sense(se_cmd,
  							 se_cmd->pi_err, 0);
  	} else {
diff --git a/drivers/infiniband/ulp/srpt/ib_srpt.c b/drivers/infiniband/ulp/srpt/ib_srpt.c
index 0701538..f42c39b 100644
--- a/drivers/infiniband/ulp/srpt/ib_srpt.c
+++ b/drivers/infiniband/ulp/srpt/ib_srpt.c
@@ -1335,7 +1335,7 @@ static int srpt_abort_cmd(struct srpt_send_ioctx *ioctx)

  		BUG_ON(ch->sess == NULL);

-		target_put_sess_cmd(ch->sess, &ioctx->cmd);
+		target_put_sess_cmd(&ioctx->cmd);
  		goto out;
  	}

@@ -1366,11 +1366,11 @@ static int srpt_abort_cmd(struct srpt_send_ioctx *ioctx)
  		 * not been received in time.
  		 */
  		srpt_unmap_sg_to_ib_sge(ioctx->ch, ioctx);
-		target_put_sess_cmd(ioctx->ch->sess, &ioctx->cmd);
+		target_put_sess_cmd(&ioctx->cmd);
  		break;
  	case SRPT_STATE_MGMT_RSP_SENT:
  		srpt_set_cmd_state(ioctx, SRPT_STATE_DONE);
-		target_put_sess_cmd(ioctx->ch->sess, &ioctx->cmd);
+		target_put_sess_cmd(&ioctx->cmd);
  		break;
  	default:
  		WARN(1, "Unexpected command state (%d)", state);
@@ -1682,7 +1682,7 @@ static int srpt_check_stop_free(struct se_cmd *cmd)
  	struct srpt_send_ioctx *ioctx = container_of(cmd,
  				struct srpt_send_ioctx, cmd);

-	return target_put_sess_cmd(ioctx->ch->sess, &ioctx->cmd);
+	return target_put_sess_cmd(&ioctx->cmd);
  }

  /**
@@ -3079,7 +3079,7 @@ static void srpt_queue_response(struct se_cmd *cmd)
  		       ioctx->tag);
  		srpt_unmap_sg_to_ib_sge(ch, ioctx);
  		srpt_set_cmd_state(ioctx, SRPT_STATE_DONE);
-		target_put_sess_cmd(ioctx->ch->sess, &ioctx->cmd);
+		target_put_sess_cmd(&ioctx->cmd);
  	}
  }

diff --git a/drivers/scsi/qla2xxx/tcm_qla2xxx.c b/drivers/scsi/qla2xxx/tcm_qla2xxx.c
index 1bd3653..e7b3185 100644
--- a/drivers/scsi/qla2xxx/tcm_qla2xxx.c
+++ b/drivers/scsi/qla2xxx/tcm_qla2xxx.c
@@ -429,7 +429,7 @@ static int tcm_qla2xxx_check_stop_free(struct se_cmd *se_cmd)
  		cmd->cmd_flags |= BIT_14;
  	}

-	return target_put_sess_cmd(se_cmd->se_sess, se_cmd);
+	return target_put_sess_cmd(se_cmd);
  }

  /* tcm_qla2xxx_release_cmd - Callback from TCM Core to release underlying
diff --git a/drivers/target/iscsi/iscsi_target.c b/drivers/target/iscsi/iscsi_target.c
index 5d75bb4..3a8fc31 100644
--- a/drivers/target/iscsi/iscsi_target.c
+++ b/drivers/target/iscsi/iscsi_target.c
@@ -715,7 +715,7 @@ static int iscsit_add_reject_from_cmd(
  	 */
  	if (cmd->se_cmd.se_tfo != NULL) {
  		pr_debug("iscsi reject: calling target_put_sess_cmd >>>>>>\n");
-		target_put_sess_cmd(conn->sess->se_sess, &cmd->se_cmd);
+		target_put_sess_cmd(&cmd->se_cmd);
  	}
  	return -1;
  }
@@ -1001,7 +1001,7 @@ int iscsit_setup_scsi_cmd(struct iscsi_conn *conn, struct iscsi_cmd *cmd,
  		hdr->cmdsn, be32_to_cpu(hdr->data_length), payload_length,
  		conn->cid);

-	target_get_sess_cmd(conn->sess->se_sess, &cmd->se_cmd, true);
+	target_get_sess_cmd(&cmd->se_cmd, true);

  	cmd->sense_reason = transport_lookup_cmd_lun(&cmd->se_cmd,
  						     scsilun_to_int(&hdr->lun));
@@ -1067,7 +1067,7 @@ int iscsit_process_scsi_cmd(struct iscsi_conn *conn, struct iscsi_cmd *cmd,
  		if (cmdsn_ret == CMDSN_ERROR_CANNOT_RECOVER)
  			return -1;
  		else if (cmdsn_ret == CMDSN_LOWER_THAN_EXP) {
-			target_put_sess_cmd(conn->sess->se_sess, &cmd->se_cmd);
+			target_put_sess_cmd(&cmd->se_cmd);
  			return 0;
  		}
  	}
@@ -1083,7 +1083,7 @@ int iscsit_process_scsi_cmd(struct iscsi_conn *conn, struct iscsi_cmd *cmd,
  		if (!cmd->sense_reason)
  			return 0;

-		target_put_sess_cmd(conn->sess->se_sess, &cmd->se_cmd);
+		target_put_sess_cmd(&cmd->se_cmd);
  		return 0;
  	}

@@ -1114,7 +1114,6 @@ static int
  iscsit_get_immediate_data(struct iscsi_cmd *cmd, struct iscsi_scsi_req *hdr,
  			  bool dump_payload)
  {
-	struct iscsi_conn *conn = cmd->conn;
  	int cmdsn_ret = 0, immed_ret = IMMEDIATE_DATA_NORMAL_OPERATION;
  	/*
  	 * Special case for Unsupported SAM WRITE Opcodes and ImmediateData=Yes.
@@ -1141,7 +1140,7 @@ after_immediate_data:

  			rc = iscsit_dump_data_payload(cmd->conn,
  						      cmd->first_burst_len, 1);
-			target_put_sess_cmd(conn->sess->se_sess, &cmd->se_cmd);
+			target_put_sess_cmd(&cmd->se_cmd);
  			return rc;
  		} else if (cmd->unsolicited_data)
  			iscsit_set_unsoliticed_dataout(cmd);
@@ -1810,7 +1809,7 @@ iscsit_handle_task_mgt_cmd(struct iscsi_conn *conn, struct iscsi_cmd *cmd,
  				      conn->sess->se_sess, 0, DMA_NONE,
  				      TCM_SIMPLE_TAG, cmd->sense_buffer + 2);

-		target_get_sess_cmd(conn->sess->se_sess, &cmd->se_cmd, true);
+		target_get_sess_cmd(&cmd->se_cmd, true);
  		sess_ref = true;

  		switch (function) {
@@ -1952,7 +1951,7 @@ attach:
  	 */
  	if (sess_ref) {
  		pr_debug("Handle TMR, using sess_ref=true check\n");
-		target_put_sess_cmd(conn->sess->se_sess, &cmd->se_cmd);
+		target_put_sess_cmd(&cmd->se_cmd);
  	}

  	iscsit_add_cmd_to_response_queue(cmd, conn, cmd->i_state);
diff --git a/drivers/target/iscsi/iscsi_target_configfs.c b/drivers/target/iscsi/iscsi_target_configfs.c
index 469fce4..568e478 100644
--- a/drivers/target/iscsi/iscsi_target_configfs.c
+++ b/drivers/target/iscsi/iscsi_target_configfs.c
@@ -1967,7 +1967,7 @@ static void lio_set_default_node_attributes(struct se_node_acl *se_acl)

  static int lio_check_stop_free(struct se_cmd *se_cmd)
  {
-	return target_put_sess_cmd(se_cmd->se_sess, se_cmd);
+	return target_put_sess_cmd(se_cmd);
  }

  static void lio_release_cmd(struct se_cmd *se_cmd)
diff --git a/drivers/target/iscsi/iscsi_target_util.c b/drivers/target/iscsi/iscsi_target_util.c
index b18edda..231e2e0 100644
--- a/drivers/target/iscsi/iscsi_target_util.c
+++ b/drivers/target/iscsi/iscsi_target_util.c
@@ -746,7 +746,7 @@ void iscsit_free_cmd(struct iscsi_cmd *cmd, bool shutdown)
  		rc = transport_generic_free_cmd(&cmd->se_cmd, shutdown);
  		if (!rc && shutdown && se_cmd && se_cmd->se_sess) {
  			__iscsit_free_cmd(cmd, true, shutdown);
-			target_put_sess_cmd(se_cmd->se_sess, se_cmd);
+			target_put_sess_cmd(se_cmd);
  		}
  		break;
  	case ISCSI_OP_REJECT:
@@ -762,7 +762,7 @@ void iscsit_free_cmd(struct iscsi_cmd *cmd, bool shutdown)
  			rc = transport_generic_free_cmd(&cmd->se_cmd, shutdown);
  			if (!rc && shutdown && se_cmd->se_sess) {
  				__iscsit_free_cmd(cmd, true, shutdown);
-				target_put_sess_cmd(se_cmd->se_sess, se_cmd);
+				target_put_sess_cmd(se_cmd);
  			}
  			break;
  		}
diff --git a/drivers/target/target_core_tmr.c b/drivers/target/target_core_tmr.c
index fa5e157..67a0ef3 100644
--- a/drivers/target/target_core_tmr.c
+++ b/drivers/target/target_core_tmr.c
@@ -153,7 +153,7 @@ void core_tmr_abort_task(
  		cancel_work_sync(&se_cmd->work);
  		transport_wait_for_tasks(se_cmd);

-		target_put_sess_cmd(se_sess, se_cmd);
+		target_put_sess_cmd(se_cmd);
  		transport_cmd_finish_abort(se_cmd, true);

  		printk("ABORT_TASK: Sending TMR_FUNCTION_COMPLETE for"
diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c
index 4edb183..1cd1ffb 100644
--- a/drivers/target/target_core_transport.c
+++ b/drivers/target/target_core_transport.c
@@ -1411,7 +1411,7 @@ int target_submit_cmd_map_sgls(struct se_cmd *se_cmd, struct se_session *se_sess
  	 * for fabrics using TARGET_SCF_ACK_KREF that expect a second
  	 * kref_put() to happen during fabric packet acknowledgement.
  	 */
-	ret = target_get_sess_cmd(se_sess, se_cmd, (flags & TARGET_SCF_ACK_KREF));
+	ret = target_get_sess_cmd(se_cmd, flags & TARGET_SCF_ACK_KREF);
  	if (ret)
  		return ret;
  	/*
@@ -1425,7 +1425,7 @@ int target_submit_cmd_map_sgls(struct se_cmd *se_cmd, struct se_session *se_sess
  	rc = transport_lookup_cmd_lun(se_cmd, unpacked_lun);
  	if (rc) {
  		transport_send_check_condition_and_sense(se_cmd, rc, 0);
-		target_put_sess_cmd(se_sess, se_cmd);
+		target_put_sess_cmd(se_cmd);
  		return 0;
  	}

@@ -1576,7 +1576,7 @@ int target_submit_tmr(struct se_cmd *se_cmd, struct se_session *se_sess,
  		se_cmd->se_tmr_req->ref_task_tag = tag;

  	/* See target_submit_cmd for commentary */
-	ret = target_get_sess_cmd(se_sess, se_cmd, (flags & TARGET_SCF_ACK_KREF));
+	ret = target_get_sess_cmd(se_cmd, flags & TARGET_SCF_ACK_KREF);
  	if (ret) {
  		core_tmr_release_req(se_cmd->se_tmr_req);
  		return ret;
@@ -2220,7 +2220,7 @@ static int transport_release_cmd(struct se_cmd *cmd)
  	 * If this cmd has been setup with target_get_sess_cmd(), drop
  	 * the kref and call ->release_cmd() in kref callback.
  	 */
-	return target_put_sess_cmd(cmd->se_sess, cmd);
+	return target_put_sess_cmd(cmd);
  }

  /**
@@ -2464,13 +2464,12 @@ int transport_generic_free_cmd(struct se_cmd *cmd, int wait_for_tasks)
  EXPORT_SYMBOL(transport_generic_free_cmd);

  /* target_get_sess_cmd - Add command to active ->sess_cmd_list
- * @se_sess:	session to reference
   * @se_cmd:	command descriptor to add
   * @ack_kref:	Signal that fabric will perform an ack target_put_sess_cmd()
   */
-int target_get_sess_cmd(struct se_session *se_sess, struct se_cmd *se_cmd,
-			       bool ack_kref)
+int target_get_sess_cmd(struct se_cmd *se_cmd, bool ack_kref)
  {
+	struct se_session *se_sess = se_cmd->se_sess;
  	unsigned long flags;
  	int ret = 0;

@@ -2517,17 +2516,19 @@ static void target_release_cmd_kref(struct kref *kref)
  }

  /* target_put_sess_cmd - Check for active I/O shutdown via kref_put
- * @se_sess:	session to reference
   * @se_cmd:	command descriptor to drop
   */
-int target_put_sess_cmd(struct se_session *se_sess, struct se_cmd *se_cmd)
+int target_put_sess_cmd(struct se_cmd *se_cmd)
  {
+	struct se_session *se_sess = se_cmd->se_sess;
+
  	if (!se_sess) {
  		se_cmd->se_tfo->release_cmd(se_cmd);
  		return 1;
  	}
-	return kref_put_spinlock_irqsave(&se_cmd->cmd_kref, target_release_cmd_kref,
-			&se_sess->sess_cmd_lock);
+	return kref_put_spinlock_irqsave(&se_cmd->cmd_kref,
+					 target_release_cmd_kref,
+					 &se_sess->sess_cmd_lock);
  }
  EXPORT_SYMBOL(target_put_sess_cmd);

diff --git a/drivers/vhost/scsi.c b/drivers/vhost/scsi.c
index e8c88b4..db5f97b 100644
--- a/drivers/vhost/scsi.c
+++ b/drivers/vhost/scsi.c
@@ -607,7 +607,7 @@ static void vhost_scsi_free_cmd(struct vhost_scsi_cmd *cmd)

  static int vhost_scsi_check_stop_free(struct se_cmd *se_cmd)
  {
-	return target_put_sess_cmd(se_cmd->se_sess, se_cmd);
+	return target_put_sess_cmd(se_cmd);
  }

  static void
diff --git a/include/target/target_core_fabric.h b/include/target/target_core_fabric.h
index 17c7f5a..9ad4530 100644
--- a/include/target/target_core_fabric.h
+++ b/include/target/target_core_fabric.h
@@ -153,8 +153,8 @@ bool	transport_wait_for_tasks(struct se_cmd *);
  int	transport_check_aborted_status(struct se_cmd *, int);
  int	transport_send_check_condition_and_sense(struct se_cmd *,
  		sense_reason_t, int);
-int	target_get_sess_cmd(struct se_session *, struct se_cmd *, bool);
-int	target_put_sess_cmd(struct se_session *, struct se_cmd *);
+int	target_get_sess_cmd(struct se_cmd *, bool);
+int	target_put_sess_cmd(struct se_cmd *);
  void	target_sess_cmd_list_set_waiting(struct se_session *);
  void	target_wait_for_sess_cmds(struct se_session *);



Looks good.

Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe target-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux SCSI]     [Kernel Newbies]     [Linux SCSI Target Infrastructure]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Device Mapper]

  Powered by Linux