tcm_fc: Call lookup_tmr_lun() for all TM types
authorAndy Grover <agrover@redhat.com>
Thu, 19 Jan 2012 21:39:19 +0000 (13:39 -0800)
committerNicholas Bellinger <nab@linux-iscsi.org>
Sat, 25 Feb 2012 22:37:47 +0000 (14:37 -0800)
Don't see a reason to differentiate, so drop the fabric specific
switch statement in ft_send_tm() ahead of conversion to use
target_submit_tmr().

Signed-off-by: Andy Grover <agrover@redhat.com>
Cc: Kiran Patil <kiran.patil@intel.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/tcm_fc/tfc_cmd.c

index d4c95cc..3926f4a 100644 (file)
@@ -399,33 +399,19 @@ static void ft_send_tm(struct ft_cmd *cmd)
                return;
        }
 
-       switch (fcp->fc_tm_flags) {
-       case FCP_TMF_LUN_RESET:
-               if (transport_lookup_tmr_lun(&cmd->se_cmd, scsilun_to_int(&fcp->fc_lun)) < 0) {
-                       /*
-                        * Make sure to clean up newly allocated TMR request
-                        * since "unable to  handle TMR request because failed
-                        * to get to LUN"
-                        */
-                       pr_debug("Failed to get LUN for TMR func %d, "
-                                 "se_cmd %p, unpacked_lun %d\n",
-                                 tm_func, &cmd->se_cmd, scsilun_to_int(&fcp->fc_lun));
-                       ft_dump_cmd(cmd, __func__);
-                       sess = cmd->sess;
-                       transport_send_check_condition_and_sense(&cmd->se_cmd,
-                               cmd->se_cmd.scsi_sense_reason, 0);
-                       ft_sess_put(sess);
-                       return;
-               }
-               break;
-       case FCP_TMF_TGT_RESET:
-       case FCP_TMF_CLR_TASK_SET:
-       case FCP_TMF_ABT_TASK_SET:
-       case FCP_TMF_CLR_ACA:
-               break;
-       default:
+       rc = transport_lookup_tmr_lun(&cmd->se_cmd, scsilun_to_int(&fcp->fc_lun));
+       if (rc < 0) {
+               pr_debug("Failed to get LUN for TMR func %d, "
+                         "se_cmd %p, unpacked_lun %d\n",
+                         tm_func, &cmd->se_cmd, scsilun_to_int(&fcp->fc_lun));
+               ft_dump_cmd(cmd, __func__);
+               sess = cmd->sess;
+               transport_send_check_condition_and_sense(&cmd->se_cmd,
+                       cmd->se_cmd.scsi_sense_reason, 0);
+               ft_sess_put(sess);
                return;
        }
+
        transport_generic_handle_tmr(&cmd->se_cmd);
 }