29 Nov, 2018

2 commits

  • iscsi_target_mod is the only LIO fabric where fabric_ops.name differs from
    the fabric_ops.fabric_name string. fabric_ops.name is used when matching
    target/$fabric ConfigFS create paths, so rename it .fabric_alias and
    fallback to target/$fabric vs .fabric_name comparison if .fabric_alias
    isn't initialised. iscsi_target_mod is the only fabric module to set
    .fabric_alias . All other fabric modules rely on .fabric_name matching and
    can drop the duplicate string.

    Signed-off-by: David Disseldorp
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Martin K. Petersen

    David Disseldorp
     
  • All fabrics return a const string. In all cases *except* iSCSI the
    get_fabric_name() string matches fabric_ops.name.

    Both fabric_ops.get_fabric_name() and fabric_ops.name are user-facing, with
    the former being used for PR/ALUA state and the latter for ConfigFS
    (config/target/$name), so we unfortunately need to keep both strings around
    for now. Replace the useless .get_fabric_name() accessor function with a
    const string fabric_name member variable.

    Signed-off-by: David Disseldorp
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Martin K. Petersen

    David Disseldorp
     

16 Aug, 2018

1 commit

  • Pull SCSI updates from James Bottomley:
    "This is mostly updates to the usual drivers: mpt3sas, lpfc, qla2xxx,
    hisi_sas, smartpqi, megaraid_sas, arcmsr.

    In addition, with the continuing absence of Nic we have target updates
    for tcmu and target core (all with reviews and acks).

    The biggest observable change is going to be that we're (again) trying
    to switch to mulitqueue as the default (a user can still override the
    setting on the kernel command line).

    Other major core stuff is the removal of the remaining Microchannel
    drivers, an update of the internal timers and some reworks of
    completion and result handling"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (203 commits)
    scsi: core: use blk_mq_run_hw_queues in scsi_kick_queue
    scsi: ufs: remove unnecessary query(DM) UPIU trace
    scsi: qla2xxx: Fix issue reported by static checker for qla2x00_els_dcmd2_sp_done()
    scsi: aacraid: Spelling fix in comment
    scsi: mpt3sas: Fix calltrace observed while running IO & reset
    scsi: aic94xx: fix an error code in aic94xx_init()
    scsi: st: remove redundant pointer STbuffer
    scsi: qla2xxx: Update driver version to 10.00.00.08-k
    scsi: qla2xxx: Migrate NVME N2N handling into state machine
    scsi: qla2xxx: Save frame payload size from ICB
    scsi: qla2xxx: Fix stalled relogin
    scsi: qla2xxx: Fix race between switch cmd completion and timeout
    scsi: qla2xxx: Fix Management Server NPort handle reservation logic
    scsi: qla2xxx: Flush mailbox commands on chip reset
    scsi: qla2xxx: Fix unintended Logout
    scsi: qla2xxx: Fix session state stuck in Get Port DB
    scsi: qla2xxx: Fix redundant fc_rport registration
    scsi: qla2xxx: Silent erroneous message
    scsi: qla2xxx: Prevent sysfs access when chip is down
    scsi: qla2xxx: Add longer window for chip reset
    ...

    Linus Torvalds
     

03 Aug, 2018

2 commits

  • This converts drivers that were only calling transport_deregister_session
    to use target_remove_session. The calling of
    transport_deregister_session_configfs via target_remove_session for these
    types of drivers is ok, because they were not exporting info from fields
    like sess_acl_list, sess->se_tpg and sess->fabric_sess_ptr from configfs
    accessible functions, so they will see no difference.

    Signed-off-by: Mike Christie
    Reviewed-by: Bart Van Assche
    Reviewed-by: Christoph Hellwig
    Cc: Felipe Balbi
    Cc: Sebastian Andrzej Siewior
    Cc: Andrzej Pietrasiewicz
    Cc: Michael S. Tsirkin
    Cc: Juergen Gross
    Signed-off-by: Martin K. Petersen

    Mike Christie
     
  • Rename target_alloc_session to target_setup_session to avoid confusion with
    the other transport session allocation function that only allocates the
    session and because the target_alloc_session does so much more. It
    allocates the session, sets up the nacl and registers the session.

    The next patch will then add a remove function to match the setup in this
    one, so it should make sense for all drivers, except iscsi, to just call
    those 2 functions to setup and remove a session.

    iscsi will continue to be the odd driver.

    Signed-off-by: Mike Christie
    Reviewed-by: Bart Van Assche
    Reviewed-by: Christoph Hellwig
    Cc: Chris Boot
    Cc: Bryant G. Ly
    Cc: Michael Cyr
    Cc:
    Cc: Johannes Thumshirn
    Cc: Felipe Balbi
    Cc: Sebastian Andrzej Siewior
    Cc: Andrzej Pietrasiewicz
    Cc: Michael S. Tsirkin
    Cc: Juergen Gross
    Signed-off-by: Martin K. Petersen

    Mike Christie
     

03 Jul, 2018

1 commit

  • Since most target drivers do not use the second fabric_make_tpg() argument
    ("group") and since it is trivial to derive the group pointer from the wwn
    pointer, do not pass the group pointer to fabric_make_tpg().

    Signed-off-by: Bart Van Assche
    Reviewed-by: Mike Christie
    Cc: Felipe Balbi
    Cc: Hannes Reinecke
    Cc: Christoph Hellwig
    Signed-off-by: Martin K. Petersen

    Bart Van Assche
     

20 Jun, 2018

2 commits

  • The sbitmap and the percpu_ida perform essentially the same task,
    allocating tags for commands. The sbitmap outperforms the percpu_ida as
    documented here: https://lkml.org/lkml/2014/4/22/553

    The sbitmap interface is a little harder to use, but being able to remove
    the percpu_ida code and getting better performance justifies the additional
    complexity.

    Signed-off-by: Matthew Wilcox
    Acked-by: Felipe Balbi # f_tcm
    Reviewed-by: Jens Axboe
    Signed-off-by: Martin K. Petersen

    Matthew Wilcox
     
  • Introduce target_free_tag() and convert all drivers to use it.

    Signed-off-by: Matthew Wilcox
    Reviewed-by: Jens Axboe
    Signed-off-by: Martin K. Petersen

    Matthew Wilcox
     

19 Jun, 2018

1 commit


07 Jul, 2017

3 commits

  • Target drivers must guarantee that struct se_cmd and struct se_tmr_req
    exist as long as target_tmr_work() is in progress. Since the last
    access by the LIO core is a call to .check_stop_free() and since the
    Xen scsiback .check_stop_free() drops a reference to the TMF, it is
    already guaranteed that the struct se_cmd that corresponds to the TMF
    exists as long as target_tmr_work() is in progress. Hence change the
    second argument of transport_generic_free_cmd() from 1 into 0.

    Signed-off-by: Bart Van Assche
    Reviewed-by: Juergen Gross
    Cc: Christoph Hellwig
    Cc: Hannes Reinecke
    Cc: David Disseldorp
    Cc: xen-devel@lists.xenproject.org
    Signed-off-by: Nicholas Bellinger

    Bart Van Assche
     
  • This patch simplifies the implementation of the scsiback driver
    but does not change its behavior.

    Signed-off-by: Bart Van Assche
    Reviewed-by: Juergen Gross
    Cc: Christoph Hellwig
    Cc: Hannes Reinecke
    Cc: David Disseldorp
    Cc: xen-devel@lists.xenproject.org
    Signed-off-by: Nicholas Bellinger

    Bart Van Assche
     
  • scsiback_release_cmd() must not dereference se_cmd->se_tmr_req
    because that memory is freed by target_free_cmd_mem() before
    scsiback_release_cmd() is called. Fix this use-after-free by
    inlining struct scsiback_tmr into struct vscsibk_pend.

    Signed-off-by: Bart Van Assche
    Reviewed-by: Juergen Gross
    Cc: Christoph Hellwig
    Cc: Hannes Reinecke
    Cc: David Disseldorp
    Cc: xen-devel@lists.xenproject.org
    Cc: # 3.18+
    Signed-off-by: Nicholas Bellinger

    Bart Van Assche
     

10 May, 2016

2 commits

  • Signed-off-by: Christoph Hellwig
    Signed-off-by: Nicholas Bellinger

    Christoph Hellwig
     
  • Turns out the template and thus many drivers got the return value wrong:
    0 means the fabrics driver needs to put a session reference, which no
    driver except for the iSCSI target drivers did. Fortunately none of these
    drivers supports explicit Node ACLs, so the bug was harmless.

    Even without that only qla2xxx and iscsi every did real work in
    shutdown_session, so get rid of the boilerplate code in all other
    drivers.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Nicholas Bellinger

    Christoph Hellwig
     

23 Mar, 2016

1 commit

  • Pull SCSI target updates from Nicholas Bellinger:
    "The highlights this round include:

    - Add target_alloc_session() w/ callback helper for doing se_session
    allocation + tag + se_node_acl lookup. (HCH + nab)

    - Tree-wide fabric driver conversion to use target_alloc_session()

    - Convert sbp-target to use percpu_ida tag pre-allocation, and
    TARGET_SCF_ACK_KREF I/O krefs (Chris Boot + nab)

    - Convert usb-gadget to use percpu_ida tag pre-allocation, and
    TARGET_SCF_ACK_KREF I/O krefs (Andrzej Pietrasiewicz + nab)

    - Convert xen-scsiback to use percpu_ida tag pre-allocation, and
    TARGET_SCF_ACK_KREF I/O krefs (Juergen Gross + nab)

    - Convert tcm_fc to use TARGET_SCF_ACK_KREF I/O + TMR krefs

    - Convert ib_srpt to use percpu_ida tag pre-allocation

    - Add DebugFS node for qla2xxx target sess list (Quinn)

    - Rework iser-target connection termination (Jenny + Sagi)

    - Convert iser-target to new CQ API (HCH)

    - Add pass-through WRITE_SAME support for IBLOCK (Mike Christie)

    - Introduce data_bitmap for asynchronous access of data area (Sheng
    Yang + Andy)

    - Fix target_release_cmd_kref shutdown comp leak (Himanshu Madhani)

    Also, there is a separate PULL request coming for cxgb4 NIC driver
    prerequisites for supporting hw iscsi segmentation offload (ISO), that
    will be the base for a number of v4.7 developments involving
    iscsi-target hw offloads"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (36 commits)
    target: Fix target_release_cmd_kref shutdown comp leak
    target: Avoid DataIN transfers for non-GOOD SAM status
    target/user: Report capability of handling out-of-order completions to userspace
    target/user: Fix size_t format-spec build warning
    target/user: Don't free expired command when time out
    target/user: Introduce data_bitmap, replace data_length/data_head/data_tail
    target/user: Free data ring in unified function
    target/user: Use iovec[] to describe continuous area
    target: Remove enum transport_lunflags_table
    target/iblock: pass WRITE_SAME to device if possible
    iser-target: Kill the ->isert_cmd back pointer in struct iser_tx_desc
    iser-target: Kill struct isert_rdma_wr
    iser-target: Convert to new CQ API
    iser-target: Split and properly type the login buffer
    iser-target: Remove ISER_RECV_DATA_SEG_LEN
    iser-target: Remove impossible condition from isert_wait_conn
    iser-target: Remove redundant wait in release_conn
    iser-target: Rework connection termination
    iser-target: Separate flows for np listeners and connections cma events
    iser-target: Add new state ISER_CONN_BOUND to isert_conn
    ...

    Linus Torvalds
     

11 Mar, 2016

3 commits

  • This patch converts xen-scsiback to modern TARGET_SCF_ACK_KREF
    usage for scsiback_cmd_done() callback path.

    It also also converts TMR -> scsiback_device_action() to use
    modern target_submit_tmr() code.

    Acked-by: Juergen Gross
    Tested-by: Juergen Gross
    Cc: Hannes Reinecke
    Cc: David Vrabel
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     
  • This patch converts xen-scsiback to use percpu_ida tag
    pre-allocation for struct vscsibk_pend descriptor, in
    order to avoid fast-path struct vscsibk_pend memory
    allocations.

    Note by default this is currently hardcoded to 128.

    (Add wrapper for handling pending_req tag failure - Juergen)
    (Drop left-over se_cmd memset in scsiback_cmd_exec - Juergen)

    Acked-by: Juergen Gross
    Tested-by: Juergen Gross
    Cc: Hannes Reinecke
    Cc: David Vrabel
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     
  • This patch converts existing loopback, usb-gadget, and
    xen-scsiback demo-mode only fabric drivers to use the
    new target_alloc_session API caller.

    This includes adding a new alloc_session callback for
    fabric driver internal nexus pointer assignments.

    (Fixes for early for-next nexus breakage - Dan Carpenter)

    Cc: Christoph Hellwig
    Cc: Hannes Reinecke
    Acked-by: Juergen Gross
    Tested-by: Andrzej Pietrasiewicz
    Tested-by: Chris Boot
    Signed-off-by: Nicholas Bellinger

    Christoph Hellwig
     

09 Feb, 2016

2 commits

  • When adding more than one LUN to a frontend a warning for a failed
    assignment is issued in dom0 for each already existing LUN. Avoid this
    warning by checking for a LUN already existing when existence is
    allowed (scsiback_do_add_lun() called with try == 1).

    As the LUN existence check is needed now for a third time, factor it
    out into a function. This in turn leads to a more or less complete
    rewrite of scsiback_del_translation_entry() which will now return a
    proper error code in case of failure.

    Signed-off-by: Juergen Gross
    Reviewed-by: Boris Ostrovsky
    Signed-off-by: David Vrabel

    Juergen Gross
     
  • When adding a new frontend to xen-scsiback don't decrement the number
    of active frontends in case of no error. Doing so results in a failure
    when trying to remove the xen-pvscsi nexus even if no domain is using
    it.

    Signed-off-by: Juergen Gross
    Reviewed-by: Boris Ostrovsky
    Cc: stable@vger.kernel.org
    Signed-off-by: David Vrabel

    Juergen Gross
     

19 Dec, 2015

1 commit

  • Pull xen bug fixes from David Vrabel:
    - XSA-155 security fixes to backend drivers.
    - XSA-157 security fixes to pciback.

    * tag 'for-linus-4.4-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    xen-pciback: fix up cleanup path when alloc fails
    xen/pciback: Don't allow MSI-X ops if PCI_COMMAND_MEMORY is not set.
    xen/pciback: For XEN_PCI_OP_disable_msi[|x] only disable if device has MSI(X) enabled.
    xen/pciback: Do not install an IRQ handler for MSI interrupts.
    xen/pciback: Return error on XEN_PCI_OP_enable_msix when device has MSI or MSI-X enabled
    xen/pciback: Return error on XEN_PCI_OP_enable_msi when device has MSI or MSI-X enabled
    xen/pciback: Save xen_pci_op commands before processing it
    xen-scsiback: safely copy requests
    xen-blkback: read from indirect descriptors only once
    xen-blkback: only read request operation from shared ring once
    xen-netback: use RING_COPY_REQUEST() throughout
    xen-netback: don't use last request to determine minimum Tx credit
    xen: Add RING_COPY_REQUEST()
    xen/x86/pvh: Use HVM's flush_tlb_others op
    xen: Resume PMU from non-atomic context
    xen/events/fifo: Consume unprocessed events when a CPU dies

    Linus Torvalds
     

18 Dec, 2015

1 commit

  • The copy of the ring request was lacking a following barrier(),
    potentially allowing the compiler to optimize the copy away.

    Use RING_COPY_REQUEST() to ensure the request is copied to local
    memory.

    This is part of XSA155.

    CC: stable@vger.kernel.org
    Reviewed-by: Juergen Gross
    Signed-off-by: David Vrabel
    Signed-off-by: Konrad Rzeszutek Wilk

    David Vrabel
     

14 Oct, 2015

1 commit

  • This also allows to remove the target-specific old configfs macros, and
    gets rid of the target_core_fabric_configfs.h header which only had one
    function declaration left that could be moved to a better place.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Nicholas Bellinger
    Acked-by: Nicholas Bellinger
    Signed-off-by: Nicholas Bellinger

    Christoph Hellwig
     

05 Jul, 2015

1 commit

  • Pull SCSI target updates from Nicholas Bellinger:
    "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 lockless 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)"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (76 commits)
    target: Bump core version to v5.0
    target: remove target_core_configfs.h
    target: remove unused TARGET_CORE_CONFIG_ROOT define
    target: consolidate version defines
    target: implement WRITE_SAME with UNMAP bit using ->execute_unmap
    target: simplify UNMAP handling
    target: replace se_cmd->execute_rw with a protocol_data field
    target/user: Fix inconsistent kmap_atomic/kunmap_atomic
    target: Send UA when changing LUN inventory
    target: Send UA upon LUN RESET tmr completion
    target: Send UA on ALUA target port group change
    target: Convert se_lun->lun_deve_lock to normal spinlock
    target: use 'se_dev_entry' when allocating UAs
    target: Remove 'ua_nacl' pointer from se_ua structure
    target_core_alua: Correct UA handling when switching states
    xen-scsiback: Fix compile warning for 64-bit LUN
    target: Remove TARGET_MAX_LUNS_PER_TRANSPORT
    target: use 64-bit LUNs
    target: Drop duplicate + unused se_dev_check_wce
    target: Drop unnecessary core_tpg_register TFO parameter
    ...

    Linus Torvalds
     

16 Jun, 2015

3 commits

  • drivers/xen/xen-scsiback.c: In function ‘scsiback_add_translation_entry’:
    drivers/xen/xen-scsiback.c:911:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long long unsigned int’ [-Wformat]

    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     
  • LUN allocation is now fully dynamic, so there is no need to
    artificially restrain the number of exported LUNs.

    Signed-off-by: Hannes Reinecke
    Signed-off-by: Nicholas Bellinger

    Hannes Reinecke
     
  • This patch drops unnecessary target_core_fabric_ops parameter usage
    for core_tpg_register() during fabric driver TFO->fabric_make_tpg()
    se_portal_group creation callback execution.

    Instead, use the existing se_wwn->wwn_tf->tf_ops pointer to ensure
    fabric driver is really using the same TFO provided at module_init
    time.

    Also go ahead and drop the forward TFO declarations tree-wide, and
    handling the special case for iscsi-target discovery TPG.

    Cc: Christoph Hellwig
    Reviewed-by: Hannes Reinecke
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     

02 Jun, 2015

1 commit

  • Only include SCSI initiator header files in target code that needs
    these header files, namely the SCSI pass-through code and the tcm_loop
    driver. Change SCSI_SENSE_BUFFERSIZE into TRANSPORT_SENSE_BUFFER in
    target code because the former is intended for initiator code and the
    latter for target code. With this patch the only initiator include
    directives in target code that remain are as follows:

    $ git grep -nHE 'include .scsi/(scsi.h|scsi_host.h|scsi_device.h|scsi_cmnd.h)' drivers/target drivers/infiniband/ulp/{isert,srpt} drivers/usb/gadget/legacy/tcm_*.[ch] drivers/{vhost,xen} include/{target,trace/events/target.h}
    drivers/target/loopback/tcm_loop.c:29:#include
    drivers/target/loopback/tcm_loop.c:31:#include
    drivers/target/loopback/tcm_loop.c:32:#include
    drivers/target/loopback/tcm_loop.c:33:#include
    drivers/target/target_core_pscsi.c:39:#include
    drivers/target/target_core_pscsi.c:40:#include
    drivers/xen/xen-scsiback.c:52:#include /* SG_ALL */

    Signed-off-by: Bart Van Assche
    Reviewed-by: Christoph Hellwig
    Signed-off-by: James Bottomley

    Bart Van Assche
     

01 Jun, 2015

1 commit

  • This patch converts the fixed size se_portal_group->tpg_lun_list[]
    to use modern RCU with hlist_head in order to support an arbitary
    number of se_lun ports per target endpoint.

    It includes dropping core_tpg_alloc_lun() from core_dev_add_lun(),
    and calling it directly from target_fabric_make_lun() to allocate
    a new se_lun. And add a new target_fabric_port_release() configfs
    item callback to invoke kfree_rcu() to release memory during
    se_lun->lun_group shutdown.

    Also now that se_node_acl->lun_entry_hlist is using RCU, convert
    existing tpg_lun_lock to struct mutex so core_tpg_add_node_to_devs()
    can perform RCU updater logic without releasing ->tpg_lun_mutex.

    Also, drop core_tpg_clear_object_luns() and it's single consumer
    in iscsi-target, which is duplicating TPG LUN shutdown logic and
    is current code results in a NOP.

    Finally, sbp-target and xen-scsiback fabric driver conversions are
    included, which are required due to the non-standard way they use
    ->tpg_lun_hlist.

    Reviewed-by: Hannes Reinecke
    Cc: Christoph Hellwig
    Cc: Sagi Grimberg
    Cc: Paul E. McKenney
    Cc: Chris Boot
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     

31 May, 2015

9 commits


25 Apr, 2015

1 commit

  • Pull SCSI target updates from Nicholas Bellinger:
    "Lots of activity in target land the last months.

    The highlights include:

    - Convert fabric drivers tree-wide to target_register_template() (hch
    + bart)

    - iser-target hardening fixes + v1.0 improvements (sagi)

    - Convert iscsi_thread_set usage to kthread.h + kill
    iscsi_target_tq.c (sagi + nab)

    - Add support for T10-PI WRITE_STRIP + READ_INSERT operation (mkp +
    sagi + nab)

    - DIF fixes for CONFIG_DEBUG_SG=y + UNMAP file emulation (akinobu +
    sagi + mkp)

    - Extended TCMU ABI v2 for future BIDI + DIF support (andy + ilias)

    - Fix COMPARE_AND_WRITE handling for NO_ALLLOC drivers (hch + nab)

    Thanks to everyone who contributed this round with new features,
    bug-reports, fixes, cleanups and improvements.

    Looking forward, it's currently shaping up to be a busy v4.2 as well"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (69 commits)
    target: Put TCMU under a new config option
    target: Version 2 of TCMU ABI
    target: fix tcm_mod_builder.py
    target/file: Fix UNMAP with DIF protection support
    target/file: Fix SG table for prot_buf initialization
    target/file: Fix BUG() when CONFIG_DEBUG_SG=y and DIF protection enabled
    target: Make core_tmr_abort_task() skip TMFs
    target/sbc: Update sbc_dif_generate pr_debug output
    target/sbc: Make internal DIF emulation honor ->prot_checks
    target/sbc: Return INVALID_CDB_FIELD if DIF + sess_prot_type disabled
    target: Ensure sess_prot_type is saved across session restart
    target/rd: Don't pass incomplete scatterlist entries to sbc_dif_verify_*
    target: Remove the unused flag SCF_ACK_KREF
    target: Fix two sparse warnings
    target: Fix COMPARE_AND_WRITE with SG_TO_MEM_NOALLOC handling
    target: simplify the target template registration API
    target: simplify target_xcopy_init_pt_lun
    target: remove the unused SCF_CMD_XCOPY_PASSTHROUGH flag
    target/rd: reduce code duplication in rd_execute_rw()
    tcm_loop: fixup tpgt string to integer conversion
    ...

    Linus Torvalds
     

17 Apr, 2015

1 commit

  • Pull xen features and fixes from David Vrabel:

    - use a single source list of hypercalls, generating other tables etc.
    at build time.

    - add a "Xen PV" APIC driver to support >255 VCPUs in PV guests.

    - significant performance improve to guest save/restore/migration.

    - scsiback/front save/restore support.

    - infrastructure for multi-page xenbus rings.

    - misc fixes.

    * tag 'stable/for-linus-4.1-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    xen/pci: Try harder to get PXM information for Xen
    xenbus_client: Extend interface to support multi-page ring
    xen-pciback: also support disabling of bus-mastering and memory-write-invalidate
    xen: support suspend/resume in pvscsi frontend
    xen: scsiback: add LUN of restored domain
    xen-scsiback: define a pr_fmt macro with xen-pvscsi
    xen/mce: fix up xen_late_init_mcelog() error handling
    xen/privcmd: improve performance of MMAPBATCH_V2
    xen: unify foreign GFN map/unmap for auto-xlated physmap guests
    x86/xen/apic: WARN with details.
    x86/xen: Provide a "Xen PV" APIC driver to support >255 VCPUs
    xen/pciback: Don't print scary messages when unsupported by hypervisor.
    xen: use generated hypercall symbols in arch/x86/xen/xen-head.S
    xen: use generated hypervisor symbols in arch/x86/xen/trace.c
    xen: synchronize include/xen/interface/xen.h with xen
    xen: build infrastructure for generating hypercall depending symbols
    xen: balloon: Use static attribute groups for sysfs entries
    xen: pcpu: Use static attribute groups for sysfs entry

    Linus Torvalds