13 Apr, 2014

1 commit

  • Pull SCSI target updates from Nicholas Bellinger:
    "Here are the target pending updates for v3.15-rc1. Apologies in
    advance for waiting until the second to last day of the merge window
    to send these out.

    The highlights this round include:

    - iser-target support for T10 PI (DIF) offloads (Sagi + Or)
    - Fix Task Aborted Status (TAS) handling in target-core (Alex Leung)
    - Pass in transport supported PI at session initialization (Sagi + MKP + nab)
    - Add WRITE_INSERT + READ_STRIP T10 PI support in target-core (nab + Sagi)
    - Fix iscsi-target ERL=2 ASYNC_EVENT connection pointer bug (nab)
    - Fix tcm_fc use-after-free of ft_tpg (Andy Grover)
    - Use correct ib_sg_dma primitives in ib_isert (Mike Marciniszyn)

    Also, note the virtio-scsi + vhost-scsi changes to expose T10 PI
    metadata into KVM guest have been left-out for now, as there where a
    few comments from MST + Paolo that where not able to be addressed in
    time for v3.15. Please expect this feature for v3.16-rc1"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (43 commits)
    ib_srpt: Use correct ib_sg_dma primitives
    target/tcm_fc: Rename ft_tport_create to ft_tport_get
    target/tcm_fc: Rename ft_{add,del}_lport to {add,del}_wwn
    target/tcm_fc: Rename structs and list members for clarity
    target/tcm_fc: Limit to 1 TPG per wwn
    target/tcm_fc: Don't export ft_lport_list
    target/tcm_fc: Fix use-after-free of ft_tpg
    target: Add check to prevent Abort Task from aborting itself
    target: Enable READ_STRIP emulation in target_complete_ok_work
    target/sbc: Add sbc_dif_read_strip software emulation
    target: Enable WRITE_INSERT emulation in target_execute_cmd
    target/sbc: Add sbc_dif_generate software emulation
    target/sbc: Only expose PI read_cap16 bits when supported by fabric
    target/spc: Only expose PI mode page bits when supported by fabric
    target/spc: Only expose PI inquiry bits when supported by fabric
    target: Pass in transport supported PI at session initialization
    target/iblock: Fix double bioset_integrity_free bug
    Target/sbc: Initialize COMPARE_AND_WRITE write_sg scatterlist
    target/rd: T10-Dif: RAM disk is allocating more space than required.
    iscsi-target: Fix ERL=2 ASYNC_EVENT connection pointer bug
    ...

    Linus Torvalds
     

07 Apr, 2014

2 commits

  • In order to support local WRITE_INSERT + READ_STRIP operations for
    non PI enabled fabrics, the fabric driver needs to be able signal
    what protection offload operations are supported.

    This is done at session initialization time so the modes can be
    signaled by individual se_wwn + se_portal_group endpoints, as well
    as optionally across different transports on the same endpoint.

    For iser-target, set TARGET_PROT_ALL if the underlying ib_device
    has already signaled PI offload support, and allow this to be
    exposed via a new iscsit_transport->iscsit_get_sup_prot_ops()
    callback.

    For loopback, set TARGET_PROT_ALL to signal SCSI initiator mode
    operation.

    For all other drivers, set TARGET_PROT_NORMAL to disable fabric
    level PI.

    Cc: Martin K. Petersen
    Cc: Sagi Grimberg
    Cc: Or Gerlitz
    Cc: Quinn Tran
    Cc: Giridhar Malavali
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     
  • Now that TASK_ABORTED status is not generated for all cases by
    TMR ABORT_TASK + LUN_RESET, a new TFO->abort_task() caller is
    necessary in order to give fabric drivers a chance to unmap
    hardware / software resources before the se_cmd descriptor is
    released via the normal TFO->release_cmd() codepath.

    This patch adds TFO->aborted_task() in core_tmr_abort_task()
    in place of the original transport_send_task_abort(), and
    also updates all fabric drivers to implement this caller.

    The fabric drivers that include changes to perform cleanup
    via ->aborted_task() are:

    - iscsi-target
    - iser-target
    - srpt
    - tcm_qla2xxx

    The fabric drivers that currently set ->aborted_task() to
    NOPs are:

    - loopback
    - tcm_fc
    - usb-gadget
    - sbp-target
    - vhost-scsi

    For the latter five, there appears to be no additional cleanup
    required before invoking TFO->release_cmd() to release the
    se_cmd descriptor.

    v2 changes:
    - Move ->aborted_task() call into transport_cmd_finish_abort (Alex)

    Cc: Alex Leung
    Cc: Mark Rustad
    Cc: Roland Dreier
    Cc: Vu Pham
    Cc: Chris Boot
    Cc: Sebastian Andrzej Siewior
    Cc: Michael S. Tsirkin
    Cc: Giridhar Malavali
    Cc: Saurav Kashyap
    Cc: Quinn Tran
    Cc: Sagi Grimberg
    Cc: Or Gerlitz
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     

02 Apr, 2014

1 commit


29 Mar, 2014

2 commits

  • vhost fails to validate negative error code
    from vhost_get_vq_desc causing
    a crash: we are using -EFAULT which is 0xfffffff2
    as vector size, which exceeds the allocated size.

    The code in question was introduced in commit
    8dd014adfea6f173c1ef6378f7e5e7924866c923
    vhost-net: mergeable buffers support

    CVE-2014-0055

    Signed-off-by: Michael S. Tsirkin
    Signed-off-by: David S. Miller

    Michael S. Tsirkin
     
  • When mergeable buffers are disabled, and the
    incoming packet is too large for the rx buffer,
    get_rx_bufs returns success.

    This was intentional in order for make recvmsg
    truncate the packet and then handle_rx would
    detect err != sock_len and drop it.

    Unfortunately we pass the original sock_len to
    recvmsg - which means we use parts of iov not fully
    validated.

    Fix this up by detecting this overrun and doing packet drop
    immediately.

    CVE-2014-0077

    Signed-off-by: Michael S. Tsirkin
    Signed-off-by: David S. Miller

    Michael S. Tsirkin
     

02 Mar, 2014

1 commit

  • Pull SCSI target fixes from Nicholas Bellinger:
    "The bulk of the series are bugfixes for qla2xxx target NPIV support
    that went in for v3.14-rc1. Also included are a few DIF related
    fixes, a qla2xxx fix (Cc'ed to stable) from Greg W., and vhost/scsi
    protocol version related fix from Venkatesh.

    Also just a heads up that a series to address a number of issues with
    iser-target active I/O reset/shutdown is still being tested, and will
    be included in a separate -rc6 PULL request"

    * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
    vhost/scsi: Check LUN structure byte 0 is set to 1, per spec
    qla2xxx: Fix kernel panic on selective retransmission request
    Target/sbc: Don't use sg as iterator in sbc_verify_read
    target: Add DIF sense codes in transport_generic_request_failure
    target/sbc: Fix sbc_dif_copy_prot addr offset bug
    tcm_qla2xxx: Fix NAA formatted name for NPIV WWPNs
    tcm_qla2xxx: Perform configfs depend/undepend for base_tpg
    tcm_qla2xxx: Add NPIV specific enable/disable attribute logic
    qla2xxx: Check + fail when npiv_vports_inuse exists in shutdown
    qla2xxx: Fix qlt_lport_register base_vha callback race

    Linus Torvalds
     

25 Feb, 2014

1 commit


14 Feb, 2014

2 commits

  • vhost_zerocopy_callback accesses VQ right after it drops a ubuf
    reference. In theory, this could race with device removal which waits
    on the ubuf kref, and crash on use after free.

    Do all accesses within rcu read side critical section, and synchronize
    on release.

    Since callbacks are always invoked from bh, synchronize_rcu_bh seems
    enough and will help release complete a bit faster.

    Signed-off-by: Michael S. Tsirkin
    Acked-by: Jason Wang
    Signed-off-by: David S. Miller

    Michael S. Tsirkin
     
  • vhost checked the counter within the refcnt before decrementing. It
    really wanted to know that it is the one that has the last reference, as
    a way to batch freeing resources a bit more efficiently.

    Note: we only let refcount go to 0 on device release.

    This works well but we now access the ref counter twice so there's a
    race: all users might see a high count and decide to defer freeing
    resources.
    In the end no one initiates freeing resources until the last reference
    is gone (which is on VM shotdown so might happen after a looooong time).

    Let's do what we probably should have done straight away:
    switch from kref to plain atomic, documenting the
    semantics, return the refcount value atomically after decrement,
    then use that to avoid the deadlock.

    Reported-by: Qin Chuanyu
    Signed-off-by: Michael S. Tsirkin
    Acked-by: Jason Wang
    Signed-off-by: David S. Miller

    Michael S. Tsirkin
     

01 Feb, 2014

1 commit

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

    - add support for SCSI Referrals (Hannes)
    - add support for T10 DIF into target core (nab + mkp)
    - add support for T10 DIF emulation in FILEIO + RAMDISK backends (Sagi + nab)
    - add support for T10 DIF -> bio_integrity passthrough in IBLOCK backend (nab)
    - prep changes to iser-target for >= v3.15 T10 DIF support (Sagi)
    - add support for qla2xxx N_Port ID Virtualization - NPIV (Saurav + Quinn)
    - allow percpu_ida_alloc() to receive task state bitmask (Kent)
    - fix >= v3.12 iscsi-target session reset hung task regression (nab)
    - fix >= v3.13 percpu_ref se_lun->lun_ref_active race (nab)
    - fix a long-standing network portal creation race (Andy)"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (51 commits)
    target: Fix percpu_ref_put race in transport_lun_remove_cmd
    target/iscsi: Fix network portal creation race
    target: Report bad sector in sense data for DIF errors
    iscsi-target: Convert gfp_t parameter to task state bitmask
    iscsi-target: Fix connection reset hang with percpu_ida_alloc
    percpu_ida: Make percpu_ida_alloc + callers accept task state bitmask
    iscsi-target: Pre-allocate more tags to avoid ack starvation
    qla2xxx: Configure NPIV fc_vport via tcm_qla2xxx_npiv_make_lport
    qla2xxx: Enhancements to enable NPIV support for QLOGIC ISPs with TCM/LIO.
    qla2xxx: Fix scsi_host leak on qlt_lport_register callback failure
    IB/isert: pass scatterlist instead of cmd to fast_reg_mr routine
    IB/isert: Move fastreg descriptor creation to a function
    IB/isert: Avoid frwr notation, user fastreg
    IB/isert: seperate connection protection domains and dma MRs
    tcm_loop: Enable DIF/DIX modes in SCSI host LLD
    target/rd: Add DIF protection into rd_execute_rw
    target/rd: Add support for protection SGL setup + release
    target/rd: Refactor rd_build_device_space + rd_release_device_space
    target/file: Add DIF protection support to fd_execute_rw
    target/file: Add DIF protection init/format support
    ...

    Linus Torvalds
     

24 Jan, 2014

1 commit

  • This patch changes percpu_ida_alloc() + callers to accept task state
    bitmask for prepare_to_wait() for code like target/iscsi that needs
    it for interruptible sleep, that is provided in a subsequent patch.

    It now expects TASK_UNINTERRUPTIBLE when the caller is able to sleep
    waiting for a new tag, or TASK_RUNNING when the caller cannot sleep,
    and is forced to return a negative value when no tags are available.

    v2 changes:
    - Include blk-mq + tcm_fc + vhost/scsi + target/iscsi changes
    - Drop signal_pending_state() call
    v3 changes:
    - Only call prepare_to_wait() + finish_wait() when != TASK_RUNNING
    (PeterZ)

    Reported-by: Linus Torvalds
    Cc: Linus Torvalds
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: Jens Axboe
    Signed-off-by: Kent Overstreet
    Cc: #3.12+
    Signed-off-by: Nicholas Bellinger

    Kent Overstreet
     

18 Jan, 2014

1 commit

  • This patch adds support to target_submit_cmd_map_sgls() for
    accepting 'sgl_prot' + 'sgl_prot_count' parameters for
    DIF protection information.

    Note the passed parameters are stored at se_cmd->t_prot_sg
    and se_cmd->t_prot_nents respectively.

    Also, update tcm_loop and vhost-scsi fabrics usage of
    target_submit_cmd_map_sgls() to take into account the
    new parameters.

    Cc: Martin K. Petersen
    Cc: Christoph Hellwig
    Cc: Hannes Reinecke
    Cc: Sagi Grimberg
    Cc: Or Gerlitz
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     

07 Dec, 2013

1 commit


23 Nov, 2013

1 commit

  • Pull SCSI target updates from Nicholas Bellinger:
    "Things have been quiet this round with mostly bugfixes, percpu
    conversions, and other minor iscsi-target conformance testing changes.

    The highlights include:

    - Add demo_mode_discovery attribute for iscsi-target (Thomas)
    - Convert tcm_fc(FCoE) to use percpu-ida pre-allocation
    - Add send completion interrupt coalescing for ib_isert
    - Convert target-core to use percpu-refcounting for se_lun
    - Fix mutex_trylock usage bug in iscsit_increment_maxcmdsn
    - tcm_loop updates (Hannes)
    - target-core ALUA cleanups + prep for v3.14 SCSI Referrals support (Hannes)

    v3.14 is currently shaping to be a busy development cycle in target
    land, with initial support for T10 Referrals and T10 DIF currently on
    the roadmap"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (40 commits)
    iscsi-target: chap auth shouldn't match username with trailing garbage
    iscsi-target: fix extract_param to handle buffer length corner case
    iscsi-target: Expose default_erl as TPG attribute
    target_core_configfs: split up ALUA supported states
    target_core_alua: Make supported states configurable
    target_core_alua: Store supported ALUA states
    target_core_alua: Rename ALUA_ACCESS_STATE_OPTIMIZED
    target_core_alua: spellcheck
    target core: rename (ex,im)plict -> (ex,im)plicit
    percpu-refcount: Add percpu-refcount.o to obj-y
    iscsi-target: Do not reject non-immediate CmdSNs exceeding MaxCmdSN
    iscsi-target: Convert iscsi_session statistics to atomic_long_t
    target: Convert se_device statistics to atomic_long_t
    target: Fix delayed Task Aborted Status (TAS) handling bug
    iscsi-target: Reject unsupported multi PDU text command sequence
    ib_isert: Avoid duplicate iscsit_increment_maxcmdsn call
    iscsi-target: Fix mutex_trylock usage in iscsit_increment_maxcmdsn
    target: Core does not need blkdev.h
    target: Pass through I/O topology for block backstores
    iser-target: Avoid using FRMR for single dma entry requests
    ...

    Linus Torvalds
     

26 Oct, 2013

1 commit

  • This patch addresses a long-standing bug where the get_user_pages_fast()
    write parameter used for setting the underlying page table entry permission
    bits was incorrectly set to write=1 for data_direction=DMA_TO_DEVICE, and
    passed into get_user_pages_fast() via vhost_scsi_map_iov_to_sgl().

    However, this parameter is intended to signal WRITEs to pinned userspace
    PTEs for the virtio-scsi DMA_FROM_DEVICE -> READ payload case, and *not*
    for the virtio-scsi DMA_TO_DEVICE -> WRITE payload case.

    This bug would manifest itself as random process segmentation faults on
    KVM host after repeated vhost starts + stops and/or with lots of vhost
    endpoints + LUNs.

    Cc: Stefan Hajnoczi
    Cc: Michael S. Tsirkin
    Cc: Asias He
    Cc: # 3.6+
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     

17 Oct, 2013

1 commit


02 Oct, 2013

1 commit


18 Sep, 2013

2 commits


17 Sep, 2013

1 commit

  • the wake_up_process func is included by spin_lock/unlock in
    vhost_work_queue,
    but it could be done outside the spin_lock.
    I have test it with kernel 3.0.27 and guest suse11-sp2 using iperf,
    the num as below.
    original modified
    thread_num tp(Gbps) vhost(%) | tp(Gbps) vhost(%)
    1 9.59 28.82 | 9.59 27.49
    8 9.61 32.92 | 9.62 26.77
    64 9.58 46.48 | 9.55 38.99
    256 9.6 63.7 | 9.6 52.59

    Signed-off-by: Chuanyu Qin
    Signed-off-by: Michael S. Tsirkin

    Qin Chuanyu
     

13 Sep, 2013

1 commit

  • Pull SCSI target updates from Nicholas Bellinger:
    "Lots of activity again this round for I/O performance optimizations
    (per-cpu IDA pre-allocation for vhost + iscsi/target), and the
    addition of new fabric independent features to target-core
    (COMPARE_AND_WRITE + EXTENDED_COPY).

    The main highlights include:

    - Support for iscsi-target login multiplexing across individual
    network portals
    - Generic Per-cpu IDA logic (kent + akpm + clameter)
    - Conversion of vhost to use per-cpu IDA pre-allocation for
    descriptors, SGLs and userspace page pointer list
    - Conversion of iscsi-target + iser-target to use per-cpu IDA
    pre-allocation for descriptors
    - Add support for generic COMPARE_AND_WRITE (AtomicTestandSet)
    emulation for virtual backend drivers
    - Add support for generic EXTENDED_COPY (CopyOffload) emulation for
    virtual backend drivers.
    - Add support for fast memory registration mode to iser-target (Vu)

    The patches to add COMPARE_AND_WRITE and EXTENDED_COPY support are of
    particular significance, which make us the first and only open source
    target to support the full set of VAAI primitives.

    Currently Linux clients are lacking upstream support to actually
    utilize these primitives. However, with server side support now in
    place for folks like MKP + ZAB working on the client, this logic once
    reserved for the highest end of storage arrays, can now be run in VMs
    on their laptops"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (50 commits)
    target/iscsi: Bump versions to v4.1.0
    target: Update copyright ownership/year information to 2013
    iscsi-target: Bump default TCP listen backlog to 256
    target: Fix >= v3.9+ regression in PR APTPL + ALUA metadata write-out
    iscsi-target; Bump default CmdSN Depth to 64
    iscsi-target: Remove unnecessary wait_for_completion in iscsi_get_thread_set
    iscsi-target: Add thread_set->ts_activate_sem + use common deallocate
    iscsi-target: Fix race with thread_pre_handler flush_signals + ISCSI_THREAD_SET_DIE
    target: remove unused including
    iser-target: introduce fast memory registration mode (FRWR)
    iser-target: generalize rdma memory registration and cleanup
    iser-target: move rdma wr processing to a shared function
    target: Enable global EXTENDED_COPY setup/release
    target: Add Third Party Copy (3PC) bit in INQUIRY response
    target: Enable EXTENDED_COPY setup in spc_parse_cdb
    target: Add support for EXTENDED_COPY copy offload emulation
    target: Avoid non-existent tg_pt_gp_mem in target_alua_state_check
    target: Add global device list for EXTENDED_COPY
    target: Make helpers non static for EXTENDED_COPY command setup
    target: Make spc_parse_naa_6h_vendor_specific non static
    ...

    Linus Torvalds
     

11 Sep, 2013

1 commit


10 Sep, 2013

2 commits

  • This patch adds support for pre-allocation of per tv_cmd descriptor
    scatterlist + user-space page pointer memory using se_sess->sess_cmd_map
    within tcm_vhost_make_nexus() code.

    This includes sanity checks within vhost_scsi_map_to_sgl()
    to reject I/O that exceeds these initial hardcoded values, and
    the necessary cleanup in tcm_vhost_make_nexus() failure path +
    tcm_vhost_drop_nexus().

    v3 changes:
    - Rebase to v3.11-rc5 code

    Cc: Michael S. Tsirkin
    Cc: Asias He
    Cc: Kent Overstreet
    Reviewed-by: Asias He
    Acked-by: Michael S. Tsirkin
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     
  • This patch changes vhost/scsi to use transport_init_session_tags()
    pre-allocation logic for per-cpu session tag pooling with internal
    ida_alloc() + ida_free() calls based upon the saved se_cmd->map_tag id.

    FIXME: Make transport_init_session_tags() number of tags setup
    configurable per vring client setting via configfs

    v5 changes:
    - Convert to percpu_ida.h include

    v3 changes:
    - Update to percpu-ida usage
    - Rebase to v3.11-rc5 code

    Cc: Michael S. Tsirkin
    Cc: Asias He
    Cc: Kent Overstreet
    Acked-by: Michael S. Tsirkin
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     

04 Sep, 2013

6 commits

  • As Michael point out, We used to limit the max pending DMAs to get better cache
    utilization. But it was not done correctly since it was one done when there's no
    new buffers submitted from guest. Guest can easily exceeds the limitation by
    keeping sending packets.

    So this patch moves the check into main loop. Tests shows about 5%-10%
    improvement on per cpu throughput for guest tx.

    Signed-off-by: Jason Wang
    Signed-off-by: David S. Miller

    Jason Wang
     
  • We used to poll vhost queue before making DMA is done, this is racy if vhost
    thread were waked up before marking DMA is done which can result the signal to
    be missed. Fix this by always polling the vhost thread before DMA is done.

    Signed-off-by: Jason Wang
    Signed-off-by: David S. Miller

    Jason Wang
     
  • Currently, even if the packet length is smaller than VHOST_GOODCOPY_LEN, if
    upend_idx != done_idx we still set zcopy_used to true and rollback this choice
    later. This could be avoided by determining zerocopy once by checking all
    conditions at one time before.

    Signed-off-by: Jason Wang
    Signed-off-by: David S. Miller

    Jason Wang
     
  • Let vhost_add_used() to use vhost_add_used_n() to reduce the code
    duplication. To avoid the overhead brought by __copy_to_user(). We will use
    put_user() when one used need to be added.

    Signed-off-by: Jason Wang
    Signed-off-by: David S. Miller

    Jason Wang
     
  • We tend to batch the used adding and signaling in vhost_zerocopy_callback()
    which may result more than 100 used buffers to be updated in
    vhost_zerocopy_signal_used() in some cases. So switch to use
    vhost_add_used_and_signal_n() to avoid multiple calls to
    vhost_add_used_and_signal(). Which means much less times of used index
    updating and memory barriers.

    2% performance improvement were seen on netperf TCP_RR test.

    Signed-off-by: Jason Wang
    Signed-off-by: David S. Miller

    Jason Wang
     
  • None of its caller use its return value, so let it return void.

    Signed-off-by: Jason Wang
    Signed-off-by: David S. Miller

    Jason Wang
     

21 Aug, 2013

1 commit


24 Jul, 2013

1 commit

  • Pull vhost fixes from Michael Tsirkin:
    "vhost: more fixes for 3.11

    This includes some fixes for vhost net and scsi drivers.

    The test module has already been reworked to avoid rcu usage, but the
    necessary core changes are missing, we fixed this.

    Unlikely to affect any real-world users, but it's early in the cycle
    so, let's merge them"

    (It was earlier when Michael originally sent the email, but it somehot
    got missed in the flood, so here it is after -rc2)

    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
    vhost: Remove custom vhost rcu usage
    vhost-scsi: Always access vq->private_data under vq mutex
    vhost-net: Always access vq->private_data under vq mutex

    Linus Torvalds
     

12 Jul, 2013

1 commit

  • Pull SCSI target updates from Nicholas Bellinger:
    "Lots of activity this round on performance improvements in target-core
    while benchmarking the prototype scsi-mq initiator code with
    vhost-scsi fabric ports, along with a number of iscsi/iser-target
    improvements and hardening fixes for exception path cases post v3.10
    merge.

    The highlights include:

    - Make persistent reservations APTPL buffer allocated on-demand, and
    drop per t10_reservation buffer. (grover)
    - Make virtual LUN=0 a NULLIO device, and skip allocation of NULLIO
    device pages (grover)
    - Add transport_cmd_check_stop write_pending bit to avoid extra
    access of ->t_state_lock is WRITE I/O submission fast-path. (nab)
    - Drop unnecessary CMD_T_DEV_ACTIVE check from
    transport_lun_remove_cmd to avoid extra access of ->t_state_lock in
    release fast-path. (nab)
    - Avoid extra t_state_lock access in __target_execute_cmd fast-path
    (nab)
    - Drop unnecessary vhost-scsi wait_for_tasks=true usage +
    ->t_state_lock access in release fast-path. (nab)
    - Convert vhost-scsi to use modern se_cmd->cmd_kref
    TARGET_SCF_ACK_KREF usage (nab)
    - Add tracepoints for SCSI commands being processed (roland)
    - Refactoring of iscsi-target handling of ISCSI_OP_NOOP +
    ISCSI_OP_TEXT to be transport independent (nab)
    - Add iscsi-target SendTargets=$IQN support for in-band discovery
    (nab)
    - Add iser-target support for in-band discovery (nab + Or)
    - Add iscsi-target demo-mode TPG authentication context support (nab)
    - Fix isert_put_reject payload buffer post (nab)
    - Fix iscsit_add_reject* usage for iser (nab)
    - Fix iscsit_sequence_cmd reject handling for iser (nab)
    - Fix ISCSI_OP_SCSI_TMFUNC handling for iser (nab)
    - Fix session reset bug with RDMA_CM_EVENT_DISCONNECTED (nab)

    The last five iscsi/iser-target items are CC'ed to stable, as they do
    address issues present in v3.10 code. They are certainly larger than
    I'd like for stable patch set, but are important to ensure proper
    REJECT exception handling in iser-target for 3.10.y"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (51 commits)
    iser-target: Ignore non TEXT + LOGOUT opcodes for discovery
    target: make queue_tm_rsp() return void
    target: remove unused codes from enum tcm_tmrsp_table
    iscsi-target: kstrtou* configfs attribute parameter cleanups
    iscsi-target: Fix tfc_tpg_auth_cit configfs length overflow
    iscsi-target: Fix tfc_tpg_nacl_auth_cit configfs length overflow
    iser-target: Add support for ISCSI_OP_TEXT opcode + payload handling
    iser-target: Rename sense_buf_[dma,len] to pdu_[dma,len]
    iser-target: Add vendor_err debug output
    target: Add (obsolete) checking for PMI/LBA fields in READ CAPACITY(10)
    target: Return correct sense data for IO past the end of a device
    target: Add tracepoints for SCSI commands being processed
    iser-target: Fix session reset bug with RDMA_CM_EVENT_DISCONNECTED
    iscsi-target: Fix ISCSI_OP_SCSI_TMFUNC handling for iser
    iscsi-target: Fix iscsit_sequence_cmd reject handling for iser
    iscsi-target: Fix iscsit_add_reject* usage for iser
    iser-target: Fix isert_put_reject payload buffer post
    iscsi-target: missing kfree() on error path
    iscsi-target: Drop left-over iscsi_conn->bad_hdr
    target: Make core_scsi3_update_and_write_aptpl return sense_reason_t
    ...

    Linus Torvalds
     

11 Jul, 2013

3 commits


08 Jul, 2013

1 commit

  • The return value wasn't checked by any of the callers. Assuming this is
    correct behaviour, we can simplify some code by not bothering to
    generate it.

    nab: Add srpt_queue_data_in() + srpt_queue_tm_rsp() nops around
    srpt_queue_response() void return

    Signed-off-by: Joern Engel
    Signed-off-by: Nicholas Bellinger

    Joern Engel
     

07 Jul, 2013

2 commits

  • We changed the type of dev.vqs field, update test
    module accordingly.

    Signed-off-by: Michael S. Tsirkin

    Michael S. Tsirkin
     
  • $ make C=1 M=drivers/vhost

    drivers/vhost/net.c:168:5: warning: symbol 'vhost_net_set_ubuf_info' was not declared. Should it be static?
    drivers/vhost/net.c:194:6: warning: symbol 'vhost_net_vq_reset' was not declared. Should it be static?
    drivers/vhost/scsi.c:219:6: warning: symbol 'tcm_vhost_done_inflight' was not declared. Should it be static?

    Signed-off-by: Asias He
    Signed-off-by: Michael S. Tsirkin

    Asias He