diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-04-30 16:14:57 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-04-30 16:14:57 -0400 |
commit | 6da6dc2380c3cfe8d6b59d7c3c55fdd7a521fe6c (patch) | |
tree | 152566bea1fc5593ef58deec450e0a499776d8c4 /drivers/scsi | |
parent | 8c55f1463c1fd318d5e785f02b80bcc32176d342 (diff) | |
parent | b8d26b3be8b33682cf163274ed07479a70554633 (diff) |
Merge branch 'for-next-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending
Pull SCSI target update from Nicholas Bellinger:
"The highlights this round include:
- Add fileio support for WRITE_SAME w/ UNMAP=1 discard (asias)
- Add fileio support for UNMAP discard (asias)
- Add tcm_vhost hotplug support to work with upstream QEMU
vhost-scsi-pci code (asias + mst)
- Check for aborted sequence in tcm_fc response path (mdr)
- Add initial iscsit_transport support into iscsi-target code (nab)
- Refactor iscsi-target RX PDU logic + export request PDU handling
(nab)
- Refactor iscsi-target TX queue logic + export response PDU creation
(nab)
- Add new iSCSI Extentions for RDMA (ISER) target driver (Or + nab)
The biggest changes revolve around iscsi-target refactoring in order
to support the iser-target driver. This includes the conversion of
the iscsi-target data-path to use modern se_cmd->cmd_kref counting,
and allowing transport independent aspects of RX/TX PDU
request/response handling be shared across existing traditional
iscsi-target code, and the new iser-target code.
Thanks to Or Gerlitz + Mellanox for supporting the iser-target
development effort!"
* 'for-next-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (25 commits)
iser-target: Add iSCSI Extensions for RDMA (iSER) target driver
tcm_vhost: Enable VIRTIO_SCSI_F_HOTPLUG
tcm_vhost: Add ioctl to get and set events missed flag
tcm_vhost: Add hotplug/hotunplug support
tcm_vhost: Refactor the lock nesting rule
tcm_fc: Check for aborted sequence
iscsi-target: Add iser network portal attribute
iscsi-target: Refactor TX queue logic + export response PDU creation
iscsi-target: Refactor RX PDU logic + export request PDU handling
iscsi-target: Add per transport iscsi_cmd alloc/free
iscsi-target: Add iser-target parameter keys + setup during login
iscsi-target: Initial traditional TCP conversion to iscsit_transport
iscsi-target: Add iscsit_transport API template
target: Add export of target_get_sess_cmd symbol
target: Change default sense key of NOT_READY
target/file: Set is_nonrot attribute
target: Add sbc_execute_unmap() helper
target/iblock: Add iblock_do_unmap() helper
target/file: Add fd_do_unmap() helper
target/file: Add UNMAP emulation support
...
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_target.c | 19 | ||||
-rw-r--r-- | drivers/scsi/qla2xxx/qla_target.h | 1 |
2 files changed, 0 insertions, 20 deletions
diff --git a/drivers/scsi/qla2xxx/qla_target.c b/drivers/scsi/qla2xxx/qla_target.c index 61b5d8c2b5da..fcdc22306cab 100644 --- a/drivers/scsi/qla2xxx/qla_target.c +++ b/drivers/scsi/qla2xxx/qla_target.c | |||
@@ -2585,25 +2585,6 @@ static void qlt_do_ctio_completion(struct scsi_qla_host *vha, uint32_t handle, | |||
2585 | ha->tgt.tgt_ops->free_cmd(cmd); | 2585 | ha->tgt.tgt_ops->free_cmd(cmd); |
2586 | } | 2586 | } |
2587 | 2587 | ||
2588 | /* ha->hardware_lock supposed to be held on entry */ | ||
2589 | /* called via callback from qla2xxx */ | ||
2590 | void qlt_ctio_completion(struct scsi_qla_host *vha, uint32_t handle) | ||
2591 | { | ||
2592 | struct qla_hw_data *ha = vha->hw; | ||
2593 | struct qla_tgt *tgt = ha->tgt.qla_tgt; | ||
2594 | |||
2595 | if (likely(tgt == NULL)) { | ||
2596 | ql_dbg(ql_dbg_tgt, vha, 0xe021, | ||
2597 | "CTIO, but target mode not enabled" | ||
2598 | " (ha %d %p handle %#x)", vha->vp_idx, ha, handle); | ||
2599 | return; | ||
2600 | } | ||
2601 | |||
2602 | tgt->irq_cmd_count++; | ||
2603 | qlt_do_ctio_completion(vha, handle, CTIO_SUCCESS, NULL); | ||
2604 | tgt->irq_cmd_count--; | ||
2605 | } | ||
2606 | |||
2607 | static inline int qlt_get_fcp_task_attr(struct scsi_qla_host *vha, | 2588 | static inline int qlt_get_fcp_task_attr(struct scsi_qla_host *vha, |
2608 | uint8_t task_codes) | 2589 | uint8_t task_codes) |
2609 | { | 2590 | { |
diff --git a/drivers/scsi/qla2xxx/qla_target.h b/drivers/scsi/qla2xxx/qla_target.h index ff9ccb9fd036..b33e411f28a0 100644 --- a/drivers/scsi/qla2xxx/qla_target.h +++ b/drivers/scsi/qla2xxx/qla_target.h | |||
@@ -980,7 +980,6 @@ extern int qlt_xmit_response(struct qla_tgt_cmd *, int, uint8_t); | |||
980 | extern void qlt_xmit_tm_rsp(struct qla_tgt_mgmt_cmd *); | 980 | extern void qlt_xmit_tm_rsp(struct qla_tgt_mgmt_cmd *); |
981 | extern void qlt_free_mcmd(struct qla_tgt_mgmt_cmd *); | 981 | extern void qlt_free_mcmd(struct qla_tgt_mgmt_cmd *); |
982 | extern void qlt_free_cmd(struct qla_tgt_cmd *cmd); | 982 | extern void qlt_free_cmd(struct qla_tgt_cmd *cmd); |
983 | extern void qlt_ctio_completion(struct scsi_qla_host *, uint32_t); | ||
984 | extern void qlt_async_event(uint16_t, struct scsi_qla_host *, uint16_t *); | 983 | extern void qlt_async_event(uint16_t, struct scsi_qla_host *, uint16_t *); |
985 | extern void qlt_enable_vha(struct scsi_qla_host *); | 984 | extern void qlt_enable_vha(struct scsi_qla_host *); |
986 | extern void qlt_vport_create(struct scsi_qla_host *, struct qla_hw_data *); | 985 | extern void qlt_vport_create(struct scsi_qla_host *, struct qla_hw_data *); |