[GIT PULL] target updates for v4.2-rc1

From: Nicholas A. Bellinger
Date: Sun Jul 05 2015 - 04:37:08 EST


Hi Linus,

Here are the outstanding target-pending updates for v4.2-rc1. Please go
ahead and pull from:

git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending.git for-next

It's been a busy development cycle for target-core in a number of
different areas.

The fabric API usage for se_node_acl allocation is now within
target-core code, dropping the external API callers for all fabric
drivers tree-wide.

There is a new conversion to RCU hlists for se_node_acl and
se_portal_group LUN mappings, that turns fast-past LUN lookup into a
completely lock-less code-path. It also removes the original hard-coded
limitation of 256 LUNs per fabric endpoint.

The configfs attributes for backends can now be shared between core and
driver code, allowing existing drivers to use common code while still
allowing flexibility for new backend provided attributes.

The highlights include:

- Merge sbc_verify_dif_* into common code (sagi)
- Remove iscsi-target support for obsolete IFMarker/OFMarker
(Christophe Vu-Brugier)
- Add bidi support in target/user backend (ilias + vangelis + agover)
- Move se_node_acl allocation into target-core code (hch)
- Add crc_t10dif_update common helper (akinobu + mkp)
- Handle target-core odd SGL mapping for data transfer memory (akinobu)
- Move transport ID handling into target-core (hch)
- Move task tag into struct se_cmd + support 64-bit tags (bart)
- Convert se_node_acl->device_list[] to RCU hlist (nab + hch + paulmck)
- Convert se_portal_group->tpg_lun_list[] to RCU hlist (nab + hch + paulmck)
- Simplify target backend driver registration (hch)
- Consolidate + simplify target backend attribute implementations (hch + nab)
- Subsume se_port + t10_alua_tg_pt_gp_member into se_lun (hch)
- Drop lun_sep_lock for se_lun->lun_se_dev RCU usage (hch + nab)
- Drop unnecessary core_tpg_register TFO parameter (nab)
- Use 64-bit LUNs tree-wide (hannes)
- Drop left-over TARGET_MAX_LUNS_PER_TRANSPORT limit (hannes)

Thank you,

--nab

Akinobu Mita (4):
target: Fix inconsistent address passed to kunmap_atomic() in
sbc_dif_copy_prot()
target: ensure se_cmd->t_prot_sg is allocated when required
lib: introduce crc_t10dif_update()
target: handle odd SG mapping for data transfer memory

Bart Van Assche (5):
target: Remove first argument of target_{get,put}_sess_cmd()
target: Move task tag into struct se_cmd + support 64-bit tags
ib_srpt: Remove set-but-not-used variables
target: Remove set-but-not-used-variables
target: Simplify LUN shutdown code

Christoph Hellwig (31):
target: fix DPO and FUA bit checks
tcm_loop: remove struct tcm_loop_nacl
tcm_usb: remove struct usbg_nacl
sbp_target: remove struct sbp_nacl
vhost/scsi: remove struct vhost_scsi_nacl
target: make the tpg_get_default_depth method optional
target: refactor init/drop_nodeacl methods
target: refactor node ACL allocation
target: move node ACL allocation to core code
target/iscsi: stop using se_tpg_fabric_ptr
tcm_loop: stop using se_tpg_fabric_ptr
tcm_fc: stop using se_tpg_fabric_ptr
target: change core_tpg_register prototype
target: remove the get_fabric_proto_ident method
target: move transport ID handling to the core
target: don't copy fabric ops
target: put struct target_fabric_configfs on a diet
target: remove struct target_fabric_configfs_template
target: target_core_configfs.h is not needed in fabric drivers
target: remove ->put_session method
target/pr: cleanup core_scsi3_pr_seq_non_holder
target: simplify backend driver registration
target: consolidate backend attribute implementations
target: simplify backend attribute implementation
target: Subsume se_port + t10_alua_tg_pt_gp_member into se_lun
target: replace se_cmd->execute_rw with a protocol_data field
target: simplify UNMAP handling
target: implement WRITE_SAME with UNMAP bit using ->execute_unmap
target: consolidate version defines
target: remove unused TARGET_CORE_CONFIG_ROOT define
target: remove target_core_configfs.h

Christophe Vu-Brugier (3):
iscsi-target: remove support for obsolete markers
target: fix a log message in se_dev_set_emulate_rest_reord()
iscsi-target: fix variable name typo in iscsi_check_acceptor_state()

Hannes Reinecke (8):
target: use 64-bit LUNs
target: Remove TARGET_MAX_LUNS_PER_TRANSPORT
target_core_alua: Correct UA handling when switching states
target: Remove 'ua_nacl' pointer from se_ua structure
target: use 'se_dev_entry' when allocating UAs
target: Send UA on ALUA target port group change
target: Send UA upon LUN RESET tmr completion
target: Send UA when changing LUN inventory

Ilias Tsitsimpis (5):
driver/user: Don't warn for DMA_NONE data direction
target/loop: Enable VARLEN CDB support
target/transport: Always initialize bidi fields in se_cmd
target/user: Refactor data area allocation code
target/user: Add support for bidirectional commands

Nicholas Bellinger (16):
target: Convert se_node_acl->device_list[] to RCU hlist
target/pr: Use atomic bitop for se_dev_entry->deve_flags reservation
check
target/pr: Change alloc_registration to avoid pr_reg_tg_pt_lun
target: Convert se_portal_group->tpg_lun_list[] to RCU hlist
target: Convert se_tpg->acl_node_lock to ->acl_node_mutex
target: Convert core_tpg_deregister to use list splice
target: Drop unused se_lun->lun_acl_list
target: Only reset specific dynamic entries during lun_group creation
target: Drop left-over se_lun->lun_status
target: Drop lun_sep_lock for se_lun->lun_se_dev RCU usage
target: Drop se_lun->lun_active for existing percpu lun_ref
target: Drop unnecessary core_tpg_register TFO parameter
target: Drop duplicate + unused se_dev_check_wce
xen-scsiback: Fix compile warning for 64-bit LUN
target: Convert se_lun->lun_deve_lock to normal spinlock
target: Bump core version to v5.0

Sagi Grimberg (4):
target: Merge sbc_verify_dif_read|write
target/file: Remove fd_prot bounce buffer
target/sbc: Fix sbc_dif_verify inconsistent map/unmap
target/user: Fix inconsistent kmap_atomic/kunmap_atomic

Documentation/target/tcm_mod_builder.py | 277 +----
Documentation/target/tcm_mod_builder.txt | 4 +-
Documentation/target/tcmu-design.txt | 2 +-
drivers/infiniband/ulp/isert/ib_isert.c | 6 +-
drivers/infiniband/ulp/srpt/ib_srpt.c | 183 +---
drivers/infiniband/ulp/srpt/ib_srpt.h | 23 +-
drivers/scsi/qla2xxx/qla_target.c | 52 +-
drivers/scsi/qla2xxx/qla_target.h | 1 -
drivers/scsi/qla2xxx/tcm_qla2xxx.c | 227 +----
drivers/scsi/qla2xxx/tcm_qla2xxx.h | 6 +-
drivers/target/iscsi/iscsi_target.c | 38 +-
drivers/target/iscsi/iscsi_target_configfs.c | 137 +--
drivers/target/iscsi/iscsi_target_erl0.c | 53 -
drivers/target/iscsi/iscsi_target_erl0.h | 1 -
drivers/target/iscsi/iscsi_target_login.c | 58 +-
drivers/target/iscsi/iscsi_target_login.h | 1 -
drivers/target/iscsi/iscsi_target_parameters.c | 275 +----
drivers/target/iscsi/iscsi_target_parameters.h | 11 +-
drivers/target/iscsi/iscsi_target_tmr.c | 4 +-
drivers/target/iscsi/iscsi_target_tpg.c | 12 +-
drivers/target/iscsi/iscsi_target_util.c | 53 +-
drivers/target/iscsi/iscsi_target_util.h | 1 -
drivers/target/loopback/tcm_loop.c | 182 +---
drivers/target/loopback/tcm_loop.h | 9 -
drivers/target/sbp/sbp_target.c | 275 +----
drivers/target/sbp/sbp_target.h | 11 +-
drivers/target/target_core_alua.c | 463 ++++-----
drivers/target/target_core_alua.h | 14 +-
drivers/target/target_core_configfs.c | 758 ++++++++++++--
drivers/target/target_core_device.c | 1289 ++++++------------------
drivers/target/target_core_fabric_configfs.c | 230 ++---
drivers/target/target_core_fabric_lib.c | 283 +++---
drivers/target/target_core_file.c | 235 +----
drivers/target/target_core_file.h | 6 -
drivers/target/target_core_hba.c | 97 +-
drivers/target/target_core_iblock.c | 96 +-
drivers/target/target_core_internal.h | 103 +-
drivers/target/target_core_pr.c | 379 +++----
drivers/target/target_core_pr.h | 6 +-
drivers/target/target_core_pscsi.c | 55 +-
drivers/target/target_core_rd.c | 90 +-
drivers/target/target_core_sbc.c | 285 +++---
drivers/target/target_core_spc.c | 90 +-
drivers/target/target_core_stat.c | 608 +++++------
drivers/target/target_core_tmr.c | 24 +-
drivers/target/target_core_tpg.c | 574 ++++-------
drivers/target/target_core_transport.c | 249 ++---
drivers/target/target_core_ua.c | 81 +-
drivers/target/target_core_ua.h | 6 +-
drivers/target/target_core_user.c | 266 ++---
drivers/target/target_core_xcopy.c | 25 +-
drivers/target/tcm_fc/tcm_fc.h | 3 +-
drivers/target/tcm_fc/tfc_cmd.c | 11 +-
drivers/target/tcm_fc/tfc_conf.c | 112 +-
drivers/target/tcm_fc/tfc_io.c | 1 -
drivers/target/tcm_fc/tfc_sess.c | 1 -
drivers/usb/gadget/legacy/tcm_usb_gadget.c | 192 +---
drivers/usb/gadget/legacy/tcm_usb_gadget.h | 11 -
drivers/vhost/scsi.c | 219 +---
drivers/xen/xen-scsiback.c | 191 +---
include/linux/crc-t10dif.h | 1 +
include/target/iscsi/iscsi_target_core.h | 12 +-
include/target/target_core_backend.h | 72 +-
include/target/target_core_backend_configfs.h | 118 ---
include/target/target_core_base.h | 186 ++--
include/target/target_core_configfs.h | 48 -
include/target/target_core_fabric.h | 71 +-
lib/crc-t10dif.c | 12 +-
68 files changed, 3163 insertions(+), 6312 deletions(-)
delete mode 100644 include/target/target_core_backend_configfs.h
delete mode 100644 include/target/target_core_configfs.h

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/