diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-20 16:42:57 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-20 16:42:57 -0500 |
commit | cdce6ac277a4a1aa5316cd0cdf30fff927433917 (patch) | |
tree | a345a1a6639a368433fa915be96554d7a0f456ea /drivers/target | |
parent | 5d6a54688632f640abda71164fea5d171ff07db8 (diff) | |
parent | e61745769125a3c788e7aceb2a5fb680ebb461e6 (diff) |
Merge tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull SCSI update from James Bottomley:
"This is a much shorter set of patches that were on the go but didn't
make it in to the early pull request for the merge window. It's
really a set of bug fixes plus some final cleanup work on the new tag
queue API"
* tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
storvsc: ring buffer failures may result in I/O freeze
ipr: set scsi_level correctly for disk arrays
ipr: add support for async scanning to speed up boot
scsi_debug: fix missing "break;" in SDEBUG_UA_CAPACITY_CHANGED case
scsi_debug: take sdebug_host_list_lock when changing capacity
scsi_debug: improve driver description in Kconfig
scsi_debug: fix compare and write errors
qla2xxx: fix race in handling rport deletion during recovery causes panic
scsi: blacklist RSOC for Microsoft iSCSI target devices
scsi: fix random memory corruption with scsi-mq + T10 PI
Revert "[SCSI] mpt3sas: Remove phys on topology change"
Revert "[SCSI] mpt2sas: Remove phys on topology change."
esas2r: Correct typos of "validate" in a comment
fc: FCP_PTA_SIMPLE is 0
ibmvfc: remove unused tag variable
scsi: remove MSG_*_TAG defines
scsi: remove scsi_set_tag_type
scsi: remove scsi_get_tag_type
scsi: never drop to untagged mode during queue ramp down
scsi: remove ->change_queue_type method
Diffstat (limited to 'drivers/target')
-rw-r--r-- | drivers/target/iscsi/iscsi_target.c | 14 | ||||
-rw-r--r-- | drivers/target/loopback/tcm_loop.c | 5 | ||||
-rw-r--r-- | drivers/target/sbp/sbp_target.c | 2 | ||||
-rw-r--r-- | drivers/target/target_core_pscsi.c | 2 | ||||
-rw-r--r-- | drivers/target/target_core_sbc.c | 2 | ||||
-rw-r--r-- | drivers/target/target_core_spc.c | 4 | ||||
-rw-r--r-- | drivers/target/target_core_transport.c | 16 | ||||
-rw-r--r-- | drivers/target/tcm_fc/tfc_cmd.c | 8 |
8 files changed, 26 insertions, 27 deletions
diff --git a/drivers/target/iscsi/iscsi_target.c b/drivers/target/iscsi/iscsi_target.c index f8ec32298906..55f6774f706f 100644 --- a/drivers/target/iscsi/iscsi_target.c +++ b/drivers/target/iscsi/iscsi_target.c | |||
@@ -944,17 +944,17 @@ int iscsit_setup_scsi_cmd(struct iscsi_conn *conn, struct iscsi_cmd *cmd, | |||
944 | */ | 944 | */ |
945 | if ((iscsi_task_attr == ISCSI_ATTR_UNTAGGED) || | 945 | if ((iscsi_task_attr == ISCSI_ATTR_UNTAGGED) || |
946 | (iscsi_task_attr == ISCSI_ATTR_SIMPLE)) | 946 | (iscsi_task_attr == ISCSI_ATTR_SIMPLE)) |
947 | sam_task_attr = MSG_SIMPLE_TAG; | 947 | sam_task_attr = TCM_SIMPLE_TAG; |
948 | else if (iscsi_task_attr == ISCSI_ATTR_ORDERED) | 948 | else if (iscsi_task_attr == ISCSI_ATTR_ORDERED) |
949 | sam_task_attr = MSG_ORDERED_TAG; | 949 | sam_task_attr = TCM_ORDERED_TAG; |
950 | else if (iscsi_task_attr == ISCSI_ATTR_HEAD_OF_QUEUE) | 950 | else if (iscsi_task_attr == ISCSI_ATTR_HEAD_OF_QUEUE) |
951 | sam_task_attr = MSG_HEAD_TAG; | 951 | sam_task_attr = TCM_HEAD_TAG; |
952 | else if (iscsi_task_attr == ISCSI_ATTR_ACA) | 952 | else if (iscsi_task_attr == ISCSI_ATTR_ACA) |
953 | sam_task_attr = MSG_ACA_TAG; | 953 | sam_task_attr = TCM_ACA_TAG; |
954 | else { | 954 | else { |
955 | pr_debug("Unknown iSCSI Task Attribute: 0x%02x, using" | 955 | pr_debug("Unknown iSCSI Task Attribute: 0x%02x, using" |
956 | " MSG_SIMPLE_TAG\n", iscsi_task_attr); | 956 | " TCM_SIMPLE_TAG\n", iscsi_task_attr); |
957 | sam_task_attr = MSG_SIMPLE_TAG; | 957 | sam_task_attr = TCM_SIMPLE_TAG; |
958 | } | 958 | } |
959 | 959 | ||
960 | cmd->iscsi_opcode = ISCSI_OP_SCSI_CMD; | 960 | cmd->iscsi_opcode = ISCSI_OP_SCSI_CMD; |
@@ -1812,7 +1812,7 @@ iscsit_handle_task_mgt_cmd(struct iscsi_conn *conn, struct iscsi_cmd *cmd, | |||
1812 | transport_init_se_cmd(&cmd->se_cmd, | 1812 | transport_init_se_cmd(&cmd->se_cmd, |
1813 | &lio_target_fabric_configfs->tf_ops, | 1813 | &lio_target_fabric_configfs->tf_ops, |
1814 | conn->sess->se_sess, 0, DMA_NONE, | 1814 | conn->sess->se_sess, 0, DMA_NONE, |
1815 | MSG_SIMPLE_TAG, cmd->sense_buffer + 2); | 1815 | TCM_SIMPLE_TAG, cmd->sense_buffer + 2); |
1816 | 1816 | ||
1817 | target_get_sess_cmd(conn->sess->se_sess, &cmd->se_cmd, true); | 1817 | target_get_sess_cmd(conn->sess->se_sess, &cmd->se_cmd, true); |
1818 | sess_ref = true; | 1818 | sess_ref = true; |
diff --git a/drivers/target/loopback/tcm_loop.c b/drivers/target/loopback/tcm_loop.c index 7172a71f9f0b..6b3c32954689 100644 --- a/drivers/target/loopback/tcm_loop.c +++ b/drivers/target/loopback/tcm_loop.c | |||
@@ -168,7 +168,7 @@ static void tcm_loop_submission_work(struct work_struct *work) | |||
168 | 168 | ||
169 | rc = target_submit_cmd_map_sgls(se_cmd, tl_nexus->se_sess, sc->cmnd, | 169 | rc = target_submit_cmd_map_sgls(se_cmd, tl_nexus->se_sess, sc->cmnd, |
170 | &tl_cmd->tl_sense_buf[0], tl_cmd->sc->device->lun, | 170 | &tl_cmd->tl_sense_buf[0], tl_cmd->sc->device->lun, |
171 | transfer_length, MSG_SIMPLE_TAG, | 171 | transfer_length, TCM_SIMPLE_TAG, |
172 | sc->sc_data_direction, 0, | 172 | sc->sc_data_direction, 0, |
173 | scsi_sglist(sc), scsi_sg_count(sc), | 173 | scsi_sglist(sc), scsi_sg_count(sc), |
174 | sgl_bidi, sgl_bidi_count, | 174 | sgl_bidi, sgl_bidi_count, |
@@ -258,7 +258,7 @@ static int tcm_loop_issue_tmr(struct tcm_loop_tpg *tl_tpg, | |||
258 | * Initialize struct se_cmd descriptor from target_core_mod infrastructure | 258 | * Initialize struct se_cmd descriptor from target_core_mod infrastructure |
259 | */ | 259 | */ |
260 | transport_init_se_cmd(se_cmd, se_tpg->se_tpg_tfo, se_sess, 0, | 260 | transport_init_se_cmd(se_cmd, se_tpg->se_tpg_tfo, se_sess, 0, |
261 | DMA_NONE, MSG_SIMPLE_TAG, | 261 | DMA_NONE, TCM_SIMPLE_TAG, |
262 | &tl_cmd->tl_sense_buf[0]); | 262 | &tl_cmd->tl_sense_buf[0]); |
263 | 263 | ||
264 | rc = core_tmr_alloc_req(se_cmd, tl_tmr, tmr, GFP_KERNEL); | 264 | rc = core_tmr_alloc_req(se_cmd, tl_tmr, tmr, GFP_KERNEL); |
@@ -369,7 +369,6 @@ static struct scsi_host_template tcm_loop_driver_template = { | |||
369 | .name = "TCM_Loopback", | 369 | .name = "TCM_Loopback", |
370 | .queuecommand = tcm_loop_queuecommand, | 370 | .queuecommand = tcm_loop_queuecommand, |
371 | .change_queue_depth = scsi_change_queue_depth, | 371 | .change_queue_depth = scsi_change_queue_depth, |
372 | .change_queue_type = scsi_change_queue_type, | ||
373 | .eh_abort_handler = tcm_loop_abort_task, | 372 | .eh_abort_handler = tcm_loop_abort_task, |
374 | .eh_device_reset_handler = tcm_loop_device_reset, | 373 | .eh_device_reset_handler = tcm_loop_device_reset, |
375 | .eh_target_reset_handler = tcm_loop_target_reset, | 374 | .eh_target_reset_handler = tcm_loop_target_reset, |
diff --git a/drivers/target/sbp/sbp_target.c b/drivers/target/sbp/sbp_target.c index e7e93727553c..9512af6a8114 100644 --- a/drivers/target/sbp/sbp_target.c +++ b/drivers/target/sbp/sbp_target.c | |||
@@ -1237,7 +1237,7 @@ static void sbp_handle_command(struct sbp_target_request *req) | |||
1237 | 1237 | ||
1238 | if (target_submit_cmd(&req->se_cmd, sess->se_sess, req->cmd_buf, | 1238 | if (target_submit_cmd(&req->se_cmd, sess->se_sess, req->cmd_buf, |
1239 | req->sense_buf, unpacked_lun, data_length, | 1239 | req->sense_buf, unpacked_lun, data_length, |
1240 | MSG_SIMPLE_TAG, data_dir, 0)) | 1240 | TCM_SIMPLE_TAG, data_dir, 0)) |
1241 | goto err; | 1241 | goto err; |
1242 | 1242 | ||
1243 | return; | 1243 | return; |
diff --git a/drivers/target/target_core_pscsi.c b/drivers/target/target_core_pscsi.c index 74873e42cf7e..1045dcd7bf65 100644 --- a/drivers/target/target_core_pscsi.c +++ b/drivers/target/target_core_pscsi.c | |||
@@ -1095,7 +1095,7 @@ pscsi_execute_cmd(struct se_cmd *cmd) | |||
1095 | req->retries = PS_RETRY; | 1095 | req->retries = PS_RETRY; |
1096 | 1096 | ||
1097 | blk_execute_rq_nowait(pdv->pdv_sd->request_queue, NULL, req, | 1097 | blk_execute_rq_nowait(pdv->pdv_sd->request_queue, NULL, req, |
1098 | (cmd->sam_task_attr == MSG_HEAD_TAG), | 1098 | (cmd->sam_task_attr == TCM_HEAD_TAG), |
1099 | pscsi_req_done); | 1099 | pscsi_req_done); |
1100 | 1100 | ||
1101 | return 0; | 1101 | return 0; |
diff --git a/drivers/target/target_core_sbc.c b/drivers/target/target_core_sbc.c index 8d171ff77e75..11bea1952435 100644 --- a/drivers/target/target_core_sbc.c +++ b/drivers/target/target_core_sbc.c | |||
@@ -485,7 +485,7 @@ static sense_reason_t compare_and_write_callback(struct se_cmd *cmd) | |||
485 | cmd->t_data_nents_orig = cmd->t_data_nents; | 485 | cmd->t_data_nents_orig = cmd->t_data_nents; |
486 | cmd->t_data_nents = 1; | 486 | cmd->t_data_nents = 1; |
487 | 487 | ||
488 | cmd->sam_task_attr = MSG_HEAD_TAG; | 488 | cmd->sam_task_attr = TCM_HEAD_TAG; |
489 | cmd->transport_complete_callback = compare_and_write_post; | 489 | cmd->transport_complete_callback = compare_and_write_post; |
490 | /* | 490 | /* |
491 | * Now reset ->execute_cmd() to the normal sbc_execute_rw() handler | 491 | * Now reset ->execute_cmd() to the normal sbc_execute_rw() handler |
diff --git a/drivers/target/target_core_spc.c b/drivers/target/target_core_spc.c index bc286a67af7c..1307600fe726 100644 --- a/drivers/target/target_core_spc.c +++ b/drivers/target/target_core_spc.c | |||
@@ -1357,7 +1357,7 @@ spc_parse_cdb(struct se_cmd *cmd, unsigned int *size) | |||
1357 | * Do implicit HEAD_OF_QUEUE processing for INQUIRY. | 1357 | * Do implicit HEAD_OF_QUEUE processing for INQUIRY. |
1358 | * See spc4r17 section 5.3 | 1358 | * See spc4r17 section 5.3 |
1359 | */ | 1359 | */ |
1360 | cmd->sam_task_attr = MSG_HEAD_TAG; | 1360 | cmd->sam_task_attr = TCM_HEAD_TAG; |
1361 | cmd->execute_cmd = spc_emulate_inquiry; | 1361 | cmd->execute_cmd = spc_emulate_inquiry; |
1362 | break; | 1362 | break; |
1363 | case SECURITY_PROTOCOL_IN: | 1363 | case SECURITY_PROTOCOL_IN: |
@@ -1391,7 +1391,7 @@ spc_parse_cdb(struct se_cmd *cmd, unsigned int *size) | |||
1391 | * Do implicit HEAD_OF_QUEUE processing for REPORT_LUNS | 1391 | * Do implicit HEAD_OF_QUEUE processing for REPORT_LUNS |
1392 | * See spc4r17 section 5.3 | 1392 | * See spc4r17 section 5.3 |
1393 | */ | 1393 | */ |
1394 | cmd->sam_task_attr = MSG_HEAD_TAG; | 1394 | cmd->sam_task_attr = TCM_HEAD_TAG; |
1395 | break; | 1395 | break; |
1396 | case TEST_UNIT_READY: | 1396 | case TEST_UNIT_READY: |
1397 | cmd->execute_cmd = spc_emulate_testunitready; | 1397 | cmd->execute_cmd = spc_emulate_testunitready; |
diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c index be877bf6f730..0adc0f650213 100644 --- a/drivers/target/target_core_transport.c +++ b/drivers/target/target_core_transport.c | |||
@@ -1159,7 +1159,7 @@ transport_check_alloc_task_attr(struct se_cmd *cmd) | |||
1159 | if (dev->transport->transport_type == TRANSPORT_PLUGIN_PHBA_PDEV) | 1159 | if (dev->transport->transport_type == TRANSPORT_PLUGIN_PHBA_PDEV) |
1160 | return 0; | 1160 | return 0; |
1161 | 1161 | ||
1162 | if (cmd->sam_task_attr == MSG_ACA_TAG) { | 1162 | if (cmd->sam_task_attr == TCM_ACA_TAG) { |
1163 | pr_debug("SAM Task Attribute ACA" | 1163 | pr_debug("SAM Task Attribute ACA" |
1164 | " emulation is not supported\n"); | 1164 | " emulation is not supported\n"); |
1165 | return TCM_INVALID_CDB_FIELD; | 1165 | return TCM_INVALID_CDB_FIELD; |
@@ -1531,7 +1531,7 @@ int target_submit_tmr(struct se_cmd *se_cmd, struct se_session *se_sess, | |||
1531 | BUG_ON(!se_tpg); | 1531 | BUG_ON(!se_tpg); |
1532 | 1532 | ||
1533 | transport_init_se_cmd(se_cmd, se_tpg->se_tpg_tfo, se_sess, | 1533 | transport_init_se_cmd(se_cmd, se_tpg->se_tpg_tfo, se_sess, |
1534 | 0, DMA_NONE, MSG_SIMPLE_TAG, sense); | 1534 | 0, DMA_NONE, TCM_SIMPLE_TAG, sense); |
1535 | /* | 1535 | /* |
1536 | * FIXME: Currently expect caller to handle se_cmd->se_tmr_req | 1536 | * FIXME: Currently expect caller to handle se_cmd->se_tmr_req |
1537 | * allocation failure. | 1537 | * allocation failure. |
@@ -1718,12 +1718,12 @@ static bool target_handle_task_attr(struct se_cmd *cmd) | |||
1718 | * to allow the passed struct se_cmd list of tasks to the front of the list. | 1718 | * to allow the passed struct se_cmd list of tasks to the front of the list. |
1719 | */ | 1719 | */ |
1720 | switch (cmd->sam_task_attr) { | 1720 | switch (cmd->sam_task_attr) { |
1721 | case MSG_HEAD_TAG: | 1721 | case TCM_HEAD_TAG: |
1722 | pr_debug("Added HEAD_OF_QUEUE for CDB: 0x%02x, " | 1722 | pr_debug("Added HEAD_OF_QUEUE for CDB: 0x%02x, " |
1723 | "se_ordered_id: %u\n", | 1723 | "se_ordered_id: %u\n", |
1724 | cmd->t_task_cdb[0], cmd->se_ordered_id); | 1724 | cmd->t_task_cdb[0], cmd->se_ordered_id); |
1725 | return false; | 1725 | return false; |
1726 | case MSG_ORDERED_TAG: | 1726 | case TCM_ORDERED_TAG: |
1727 | atomic_inc_mb(&dev->dev_ordered_sync); | 1727 | atomic_inc_mb(&dev->dev_ordered_sync); |
1728 | 1728 | ||
1729 | pr_debug("Added ORDERED for CDB: 0x%02x to ordered list, " | 1729 | pr_debug("Added ORDERED for CDB: 0x%02x to ordered list, " |
@@ -1828,7 +1828,7 @@ static void target_restart_delayed_cmds(struct se_device *dev) | |||
1828 | 1828 | ||
1829 | __target_execute_cmd(cmd); | 1829 | __target_execute_cmd(cmd); |
1830 | 1830 | ||
1831 | if (cmd->sam_task_attr == MSG_ORDERED_TAG) | 1831 | if (cmd->sam_task_attr == TCM_ORDERED_TAG) |
1832 | break; | 1832 | break; |
1833 | } | 1833 | } |
1834 | } | 1834 | } |
@@ -1844,18 +1844,18 @@ static void transport_complete_task_attr(struct se_cmd *cmd) | |||
1844 | if (dev->transport->transport_type == TRANSPORT_PLUGIN_PHBA_PDEV) | 1844 | if (dev->transport->transport_type == TRANSPORT_PLUGIN_PHBA_PDEV) |
1845 | return; | 1845 | return; |
1846 | 1846 | ||
1847 | if (cmd->sam_task_attr == MSG_SIMPLE_TAG) { | 1847 | if (cmd->sam_task_attr == TCM_SIMPLE_TAG) { |
1848 | atomic_dec_mb(&dev->simple_cmds); | 1848 | atomic_dec_mb(&dev->simple_cmds); |
1849 | dev->dev_cur_ordered_id++; | 1849 | dev->dev_cur_ordered_id++; |
1850 | pr_debug("Incremented dev->dev_cur_ordered_id: %u for" | 1850 | pr_debug("Incremented dev->dev_cur_ordered_id: %u for" |
1851 | " SIMPLE: %u\n", dev->dev_cur_ordered_id, | 1851 | " SIMPLE: %u\n", dev->dev_cur_ordered_id, |
1852 | cmd->se_ordered_id); | 1852 | cmd->se_ordered_id); |
1853 | } else if (cmd->sam_task_attr == MSG_HEAD_TAG) { | 1853 | } else if (cmd->sam_task_attr == TCM_HEAD_TAG) { |
1854 | dev->dev_cur_ordered_id++; | 1854 | dev->dev_cur_ordered_id++; |
1855 | pr_debug("Incremented dev_cur_ordered_id: %u for" | 1855 | pr_debug("Incremented dev_cur_ordered_id: %u for" |
1856 | " HEAD_OF_QUEUE: %u\n", dev->dev_cur_ordered_id, | 1856 | " HEAD_OF_QUEUE: %u\n", dev->dev_cur_ordered_id, |
1857 | cmd->se_ordered_id); | 1857 | cmd->se_ordered_id); |
1858 | } else if (cmd->sam_task_attr == MSG_ORDERED_TAG) { | 1858 | } else if (cmd->sam_task_attr == TCM_ORDERED_TAG) { |
1859 | atomic_dec_mb(&dev->dev_ordered_sync); | 1859 | atomic_dec_mb(&dev->dev_ordered_sync); |
1860 | 1860 | ||
1861 | dev->dev_cur_ordered_id++; | 1861 | dev->dev_cur_ordered_id++; |
diff --git a/drivers/target/tcm_fc/tfc_cmd.c b/drivers/target/tcm_fc/tfc_cmd.c index be0c0d08c56a..edcafa4490c0 100644 --- a/drivers/target/tcm_fc/tfc_cmd.c +++ b/drivers/target/tcm_fc/tfc_cmd.c | |||
@@ -554,17 +554,17 @@ static void ft_send_work(struct work_struct *work) | |||
554 | */ | 554 | */ |
555 | switch (fcp->fc_pri_ta & FCP_PTA_MASK) { | 555 | switch (fcp->fc_pri_ta & FCP_PTA_MASK) { |
556 | case FCP_PTA_HEADQ: | 556 | case FCP_PTA_HEADQ: |
557 | task_attr = MSG_HEAD_TAG; | 557 | task_attr = TCM_HEAD_TAG; |
558 | break; | 558 | break; |
559 | case FCP_PTA_ORDERED: | 559 | case FCP_PTA_ORDERED: |
560 | task_attr = MSG_ORDERED_TAG; | 560 | task_attr = TCM_ORDERED_TAG; |
561 | break; | 561 | break; |
562 | case FCP_PTA_ACA: | 562 | case FCP_PTA_ACA: |
563 | task_attr = MSG_ACA_TAG; | 563 | task_attr = TCM_ACA_TAG; |
564 | break; | 564 | break; |
565 | case FCP_PTA_SIMPLE: /* Fallthrough */ | 565 | case FCP_PTA_SIMPLE: /* Fallthrough */ |
566 | default: | 566 | default: |
567 | task_attr = MSG_SIMPLE_TAG; | 567 | task_attr = TCM_SIMPLE_TAG; |
568 | } | 568 | } |
569 | 569 | ||
570 | fc_seq_exch(cmd->seq)->lp->tt.seq_set_resp(cmd->seq, ft_recv_seq, cmd); | 570 | fc_seq_exch(cmd->seq)->lp->tt.seq_set_resp(cmd->seq, ft_recv_seq, cmd); |