aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/target
diff options
context:
space:
mode:
authorAndy Grover <agrover@redhat.com>2012-01-19 16:39:11 -0500
committerNicholas Bellinger <nab@linux-iscsi.org>2012-02-25 17:37:46 -0500
commite35fa8c2d0feb977c2f7d14a973b4132483ffef3 (patch)
tree51e22df14dcef278c0eb6a3433b06e48a18a6d09 /drivers/target
parent8e94b8db6121570f5ceb1aede9b28db93461cb86 (diff)
scsi: Use struct scsi_lun in fc/fcp.h
This allows us to use scsilun_to_int without an ugly cast. Fix up places that use scsilun_to_int on fcp->fc_lun accordingly. In fc target, this leaves ft_cmd.lun unused, so remove it. Signed-off-by: Andy Grover <agrover@redhat.com> Cc: Christoph Hellwig <hch@lst.de> Cc: Kiran Patil <kiran.patil@intel.com> Cc: James Bottomley <JBottomley@Parallels.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers/target')
-rw-r--r--drivers/target/tcm_fc/tcm_fc.h1
-rw-r--r--drivers/target/tcm_fc/tfc_cmd.c11
2 files changed, 4 insertions, 8 deletions
diff --git a/drivers/target/tcm_fc/tcm_fc.h b/drivers/target/tcm_fc/tcm_fc.h
index e05c55100ec6..559f3bd6868d 100644
--- a/drivers/target/tcm_fc/tcm_fc.h
+++ b/drivers/target/tcm_fc/tcm_fc.h
@@ -113,7 +113,6 @@ struct ft_lport_acl {
113 * Commands 113 * Commands
114 */ 114 */
115struct ft_cmd { 115struct ft_cmd {
116 u32 lun; /* LUN from request */
117 struct ft_sess *sess; /* session held for cmd */ 116 struct ft_sess *sess; /* session held for cmd */
118 struct fc_seq *seq; /* sequence in exchange mgr */ 117 struct fc_seq *seq; /* sequence in exchange mgr */
119 struct se_cmd se_cmd; /* Local TCM I/O descriptor */ 118 struct se_cmd se_cmd; /* Local TCM I/O descriptor */
diff --git a/drivers/target/tcm_fc/tfc_cmd.c b/drivers/target/tcm_fc/tfc_cmd.c
index 9e7e26c74c79..c5f5bb29a165 100644
--- a/drivers/target/tcm_fc/tfc_cmd.c
+++ b/drivers/target/tcm_fc/tfc_cmd.c
@@ -61,7 +61,6 @@ void ft_dump_cmd(struct ft_cmd *cmd, const char *caller)
61 caller, cmd, cmd->sess, cmd->seq, se_cmd); 61 caller, cmd, cmd->sess, cmd->seq, se_cmd);
62 pr_debug("%s: cmd %p cdb %p\n", 62 pr_debug("%s: cmd %p cdb %p\n",
63 caller, cmd, cmd->cdb); 63 caller, cmd, cmd->cdb);
64 pr_debug("%s: cmd %p lun %d\n", caller, cmd, cmd->lun);
65 64
66 pr_debug("%s: cmd %p data_nents %u len %u se_cmd_flags <0x%x>\n", 65 pr_debug("%s: cmd %p data_nents %u len %u se_cmd_flags <0x%x>\n",
67 caller, cmd, se_cmd->t_data_nents, 66 caller, cmd, se_cmd->t_data_nents,
@@ -407,8 +406,7 @@ static void ft_send_tm(struct ft_cmd *cmd)
407 406
408 switch (fcp->fc_tm_flags) { 407 switch (fcp->fc_tm_flags) {
409 case FCP_TMF_LUN_RESET: 408 case FCP_TMF_LUN_RESET:
410 cmd->lun = scsilun_to_int((struct scsi_lun *)fcp->fc_lun); 409 if (transport_lookup_tmr_lun(&cmd->se_cmd, scsilun_to_int(&fcp->fc_lun)) < 0) {
411 if (transport_lookup_tmr_lun(&cmd->se_cmd, cmd->lun) < 0) {
412 /* 410 /*
413 * Make sure to clean up newly allocated TMR request 411 * Make sure to clean up newly allocated TMR request
414 * since "unable to handle TMR request because failed 412 * since "unable to handle TMR request because failed
@@ -416,7 +414,7 @@ static void ft_send_tm(struct ft_cmd *cmd)
416 */ 414 */
417 pr_debug("Failed to get LUN for TMR func %d, " 415 pr_debug("Failed to get LUN for TMR func %d, "
418 "se_cmd %p, unpacked_lun %d\n", 416 "se_cmd %p, unpacked_lun %d\n",
419 tm_func, &cmd->se_cmd, cmd->lun); 417 tm_func, &cmd->se_cmd, scsilun_to_int(&fcp->fc_lun));
420 ft_dump_cmd(cmd, __func__); 418 ft_dump_cmd(cmd, __func__);
421 sess = cmd->sess; 419 sess = cmd->sess;
422 transport_send_check_condition_and_sense(&cmd->se_cmd, 420 transport_send_check_condition_and_sense(&cmd->se_cmd,
@@ -597,14 +595,13 @@ static void ft_send_work(struct work_struct *work)
597 return; 595 return;
598 } 596 }
599 fc_seq_exch(cmd->seq)->lp->tt.seq_set_resp(cmd->seq, ft_recv_seq, cmd); 597 fc_seq_exch(cmd->seq)->lp->tt.seq_set_resp(cmd->seq, ft_recv_seq, cmd);
600 cmd->lun = scsilun_to_int((struct scsi_lun *)fcp->fc_lun);
601 /* 598 /*
602 * Use a single se_cmd->cmd_kref as we expect to release se_cmd 599 * Use a single se_cmd->cmd_kref as we expect to release se_cmd
603 * directly from ft_check_stop_free callback in response path. 600 * directly from ft_check_stop_free callback in response path.
604 */ 601 */
605 target_submit_cmd(&cmd->se_cmd, cmd->sess->se_sess, cmd->cdb, 602 target_submit_cmd(&cmd->se_cmd, cmd->sess->se_sess, cmd->cdb,
606 &cmd->ft_sense_buffer[0], cmd->lun, data_len, 603 &cmd->ft_sense_buffer[0], scsilun_to_int(&fcp->fc_lun),
607 task_attr, data_dir, 0); 604 data_len, task_attr, data_dir, 0);
608 pr_debug("r_ctl %x alloc target_submit_cmd\n", fh->fh_r_ctl); 605 pr_debug("r_ctl %x alloc target_submit_cmd\n", fh->fh_r_ctl);
609 return; 606 return;
610 607