From: "Nicholas A. Bellinger" <nab@linux-iscsi.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: target-devel <target-devel@vger.kernel.org>,
linux-scsi <linux-scsi@vger.kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
Himanshu Madhani <himanshu.madhani@cavium.com>,
Quinn Tran <quinn.tran@cavium.com>
Subject: [GIT PULL] target updates for v4.13-rc1
Date: Thu, 13 Jul 2017 13:29:29 -0700 [thread overview]
Message-ID: <1499977769.7987.55.camel@haakon3.daterainc.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 8779 bytes --]
Hi Linus,
Here are the target-pending updates for v4.13-rc1. Please go ahead and
pull from:
git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending.git for-next
Note there is a qla2xxx conflict with scsi.git as reported by SFR, which
should be straight-forward to resolve:
https://lkml.org/lkml/2017/6/28/45
Note there was two additional qla2xxx conflicts with scsi.git:
https://lkml.org/lkml/2017/7/3/22
https://lkml.org/lkml/2017/7/3/23
However, the patch that caused these has since been reverted:
55dd8cf Revert "qla2xxx: Fix incorrect tcm_qla2xxx_free_cmd use during TMR ABORT"
as it caused other problems, so these conflicts can be ignored.
Attached is v4.13-rc1-resolution.diff if there are any questions wrt to
how the resolution should look. Adding Himanshu + Quinn CC'.
That said, it's been usually busy for summer, with most of the efforts
centered around TCMU developments and various target-core + fabric
driver bug fixing activities. Not particularly large in terms of LoC,
but lots of smaller patches from many different folks.
The highlights include:
- ibmvscsis logical partition manager support (Michael Cyr + Bryant Ly)
- Convert target/iblock WRITE_SAME to blkdev_issue_zeroout (hch + nab)
- Add support for TMR percpu LUN reference counting (nab)
- Fix a potential deadlock between EXTENDED_COPY and iscsi shutdown (Bart)
- Fix COMPARE_AND_WRITE caw_sem leak during se_cmd quiesce (Jiang Yi)
- Fix TMCU module removal (Xiubo Li)
- Fix iser-target OOPs during login failure (Andrea Righi + Sagi)
- Breakup target-core free_device backend driver callback (mnc)
- Perform TCMU add/delete/reconfig synchronously (mnc)
- Fix TCMU multiple UIO open/close sequences (mnc)
- Fix TCMU CHECK_CONDITION sense handling (mnc)
- Fix target-core SAM_STAT_BUSY + TASK_SET_FULL handling (mnc + nab)
- Introduce TYPE_ZBC support in PSCSI (Damien Le Moal)
- Fix possible TCMU memory leak + OOPs when recalculating cmd base size
(Xiubo Li + Bryant Ly + Damien Le Moal + mnc)
- Add login_keys_workaround attribute for non RFC initiators
(Robert LeBlanc + Arun Easi + nab)
Thank you,
--nab
Bart Van Assche (17):
target: Use symbolic value for WRITE_VERIFY_16
target: Remove se_device.dev_list
target: Fix transport_init_se_cmd()
target: Use {get,put}_unaligned_be*() instead of open coding these
functions
target: Fix a deadlock between the XCOPY code and iSCSI session
shutdown
IB/srpt: Make a debug statement in srpt_abort_cmd() more informative
xen/scsiback: Fix a TMR related use-after-free
xen/scsiback: Replace a waitqueue and a counter by a completion
xen/scsiback: Make TMF processing slightly faster
target: Introduce a function that shows the command state
target/tcm_loop: Merge struct tcm_loop_cmd and struct tcm_loop_tmr
target/tcm_loop: Replace a waitqueue and a counter by a completion
target/tcm_loop: Use target_submit_tmr() instead of open-coding this
function
target/tcm_loop: Make TMF processing slightly faster
target/iscsi: Remove second argument of __iscsit_free_cmd()
target/iscsi: Simplify iscsit_free_cmd()
target/iscsi: Remove dead code from iscsit_process_scsi_cmd()
Bryant G. Ly (7):
ibmvscsis: Use tpgt passed in by user
tcmu: Support emulate_write_cache
tcmu: Add netlink for device reconfiguration
tcmu: Make dev_size configurable via userspace
tcmu: Make dev_config configurable
tcmu: Add Type of reconfig into netlink
tcmu: Fix dev_config_store
Byungchul Park (1):
vhost/scsi: Don't reinvent the wheel but use existing llist API
Colin Ian King (2):
tcmu: make array tcmu_attrib_attrs static const
target: make device_mutex and device_list static
Damien Le Moal (2):
target: Use macro for WRITE_VERIFY_32 operation codes
target: pscsi: Introduce TYPE_ZBC support
Gustavo A. R. Silva (1):
target: remove dead code
Jiang Yi (2):
target: reject COMPARE_AND_WRITE if emulate_caw is not set
target: Fix COMPARE_AND_WRITE caw_sem leak during se_cmd quiesce
Michael Cyr (1):
ibmvscsis: Enable Logical Partition Migration Support
Mike Christie (17):
tcmu: reconfigure netlink attr changes
target: break up free_device callback
target: use idr for se_device dev index
target: add helper to find se_device by dev_index
tcmu: perfom device add, del and reconfig synchronously
target: add helper to iterate over devices
xcopy: loop over devices using idr helper
target: remove g_device_list
tcmu: drop configured check in destroy
tcmu: fix multiple uio open/close sequences
target: do not require a transport_complete for
SCF_TRANSPORT_TASK_SENSE
target: add helper to copy sense to se_cmd buffer
tcmu: fix sense handling during completion
pscsi: finish cmd processing from pscsi_req_done
target: remove transport_complete
target: fix SAM_STAT_BUSY/TASK_SET_FULL handling
target: export lio pgr/alua support as device attr
Nicholas Bellinger (12):
target/iblock: Convert WRITE_SAME to blkdev_issue_zeroout
target/configfs: Kill se_device->dev_link_magic
target/configfs: Kill se_lun->lun_link_magic
iscsi-target: Avoid holding ->tpg_state_lock during param update
target: Add support for TMR percpu reference counting
target: Add TARGET_SCF_LOOKUP_LUN_FROM_TAG support for ABORT_TASK
qla2xxx: Convert QLA_TGT_ABTS to TARGET_SCF_LOOKUP_LUN_FROM_TAG
iscsi-target: Kill left-over iscsi_target_do_cleanup
iser-target: Avoid isert_conn->cm_id dereference in
isert_login_recv_done
qla2xxx: Fix incorrect tcm_qla2xxx_free_cmd use during TMR ABORT
Revert "qla2xxx: Fix incorrect tcm_qla2xxx_free_cmd use during TMR
ABORT"
iscsi-target: Add login_keys_workaround attribute for non RFC
initiators
Tang Wenji (2):
target: Fix cmd size for PR-OUT in passthrough_parse_cdb
target: Fix return sense reason in target_scsi3_emulate_pr_out
Xiubo Li (4):
tcmu: Fix module removal due to stuck unmap_thread thread again
tcmu: Fix flushing cmd entry dcache page
tcmu: Fix possbile memory leak / OOPs when recalculating cmd base size
tcmu: clean up the code and with one small fix
drivers/infiniband/ulp/isert/ib_isert.c | 2 +-
drivers/infiniband/ulp/srpt/ib_srpt.c | 4 +-
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c | 156 ++++++++-
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.h | 25 +-
drivers/scsi/ibmvscsi_tgt/libsrp.h | 5 +-
drivers/scsi/qla2xxx/qla_target.c | 39 +--
drivers/scsi/qla2xxx/tcm_qla2xxx.c | 4 +-
drivers/target/iscsi/iscsi_target.c | 10 +-
drivers/target/iscsi/iscsi_target_configfs.c | 2 +
drivers/target/iscsi/iscsi_target_nego.c | 30 +-
drivers/target/iscsi/iscsi_target_parameters.c | 41 ++-
drivers/target/iscsi/iscsi_target_parameters.h | 2 +-
drivers/target/iscsi/iscsi_target_tpg.c | 27 +-
drivers/target/iscsi/iscsi_target_tpg.h | 1 +
drivers/target/iscsi/iscsi_target_util.c | 60 +---
drivers/target/iscsi/iscsi_target_util.h | 2 +-
drivers/target/loopback/tcm_loop.c | 77 +----
drivers/target/loopback/tcm_loop.h | 6 +-
drivers/target/target_core_alua.c | 8 +-
drivers/target/target_core_configfs.c | 30 +-
drivers/target/target_core_device.c | 145 ++++++--
drivers/target/target_core_fabric_configfs.c | 25 +-
drivers/target/target_core_fabric_lib.c | 6 +-
drivers/target/target_core_file.c | 7 +-
drivers/target/target_core_iblock.c | 52 +--
drivers/target/target_core_internal.h | 5 +-
drivers/target/target_core_pr.c | 109 ++----
drivers/target/target_core_pscsi.c | 82 ++---
drivers/target/target_core_pscsi.h | 4 -
drivers/target/target_core_rd.c | 11 +-
drivers/target/target_core_sbc.c | 65 ++--
drivers/target/target_core_spc.c | 42 ++-
drivers/target/target_core_tmr.c | 18 +-
drivers/target/target_core_tpg.c | 1 -
drivers/target/target_core_transport.c | 222 ++++++++++--
drivers/target/target_core_user.c | 447 ++++++++++++++++++++++---
drivers/target/target_core_xcopy.c | 184 ++++++----
drivers/vhost/scsi.c | 11 +-
drivers/xen/xen-scsiback.c | 36 +-
include/scsi/scsi_proto.h | 1 +
include/target/iscsi/iscsi_target_core.h | 10 +-
include/target/target_core_backend.h | 17 +-
include/target/target_core_base.h | 11 +-
include/target/target_core_fabric.h | 1 +
include/uapi/linux/target_core_user.h | 12 +
45 files changed, 1356 insertions(+), 699 deletions(-)
[-- Attachment #2: v4.13-rc1-resolution.diff --]
[-- Type: text/x-patch, Size: 2334 bytes --]
diff --cc drivers/scsi/qla2xxx/qla_target.c
index 2a0173e,401e245..0000000
--- a/drivers/scsi/qla2xxx/qla_target.c
+++ b/drivers/scsi/qla2xxx/qla_target.c
@@@ -1874,36 -1847,13 +1874,13 @@@ static int __qlt_24xx_handle_abts(struc
struct abts_recv_from_24xx *abts, struct fc_port *sess)
{
struct qla_hw_data *ha = vha->hw;
- struct se_session *se_sess = sess->se_sess;
struct qla_tgt_mgmt_cmd *mcmd;
- struct qla_tgt_cmd *cmd;
- struct se_cmd *se_cmd;
int rc;
- bool found_lun = false;
- unsigned long flags;
-
- spin_lock_irqsave(&se_sess->sess_cmd_lock, flags);
- list_for_each_entry(se_cmd, &se_sess->sess_cmd_list, se_cmd_list) {
- if (se_cmd->tag == abts->exchange_addr_to_abort) {
- found_lun = true;
- break;
- }
- }
- spin_unlock_irqrestore(&se_sess->sess_cmd_lock, flags);
- /* cmd not in LIO lists, look in qla list */
- if (!found_lun) {
- if (abort_cmd_for_tag(vha, abts->exchange_addr_to_abort)) {
- /* send TASK_ABORT response immediately */
- qlt_24xx_send_abts_resp(ha->base_qpair, abts,
- FCP_TMF_CMPL, false);
- return 0;
- } else {
- ql_dbg(ql_dbg_tgt_mgt, vha, 0xf081,
- "unable to find cmd in driver or LIO for tag 0x%x\n",
- abts->exchange_addr_to_abort);
- return -ENOENT;
- }
+ if (abort_cmd_for_tag(vha, abts->exchange_addr_to_abort)) {
+ /* send TASK_ABORT response immediately */
- qlt_24xx_send_abts_resp(vha, abts, FCP_TMF_CMPL, false);
++ qlt_24xx_send_abts_resp(ha->base_qpair, abts, FCP_TMF_CMPL, false);
+ return 0;
}
ql_dbg(ql_dbg_tgt_mgt, vha, 0xf00f,
@@@ -1919,14 -1869,16 +1896,17 @@@
}
memset(mcmd, 0, sizeof(*mcmd));
- cmd = container_of(se_cmd, struct qla_tgt_cmd, se_cmd);
mcmd->sess = sess;
memcpy(&mcmd->orig_iocb.abts, abts, sizeof(mcmd->orig_iocb.abts));
- mcmd->reset_count = vha->hw->chip_reset;
+ mcmd->reset_count = ha->base_qpair->chip_reset;
mcmd->tmr_func = QLA_TGT_ABTS;
+ mcmd->qpair = ha->base_qpair;
- rc = ha->tgt.tgt_ops->handle_tmr(mcmd, cmd->unpacked_lun, mcmd->tmr_func,
+ /*
+ * LUN is looked up by target-core internally based on the passed
+ * abts->exchange_addr_to_abort tag.
+ */
+ rc = ha->tgt.tgt_ops->handle_tmr(mcmd, 0, mcmd->tmr_func,
abts->exchange_addr_to_abort);
if (rc != 0) {
ql_dbg(ql_dbg_tgt_mgt, vha, 0xf052,
reply other threads:[~2017-07-13 20:29 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1499977769.7987.55.camel@haakon3.daterainc.com \
--to=nab@linux-iscsi.org \
--cc=himanshu.madhani@cavium.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=quinn.tran@cavium.com \
--cc=target-devel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.