08 Oct, 2020

1 commit

  • Rename scsi_init_io() to scsi_alloc_sgtables(), and ensure callers call
    scsi_free_sgtables() to cleanup failures close to scsi_init_io() instead of
    leaking it down the generic I/O submission path.

    Link: https://lore.kernel.org/r/20201005084130.143273-9-hch@lst.de
    Reviewed-by: Hannes Reinecke
    Signed-off-by: Christoph Hellwig
    Signed-off-by: Martin K. Petersen

    Christoph Hellwig
     

06 Jun, 2020

1 commit

  • Pull SCSI updates from James Bottomley:
    :This series consists of the usual driver updates (qla2xxx, ufs, zfcp,
    target, scsi_debug, lpfc, qedi, qedf, hisi_sas, mpt3sas) plus a host
    of other minor updates.

    There are no major core changes in this series apart from a
    refactoring in scsi_lib.c"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (207 commits)
    scsi: ufs: ti-j721e-ufs: Fix unwinding of pm_runtime changes
    scsi: cxgb3i: Fix some leaks in init_act_open()
    scsi: ibmvscsi: Make some functions static
    scsi: iscsi: Fix deadlock on recovery path during GFP_IO reclaim
    scsi: ufs: Fix WriteBooster flush during runtime suspend
    scsi: ufs: Fix index of attributes query for WriteBooster feature
    scsi: ufs: Allow WriteBooster on UFS 2.2 devices
    scsi: ufs: Remove unnecessary memset for dev_info
    scsi: ufs-qcom: Fix scheduling while atomic issue
    scsi: mpt3sas: Fix reply queue count in non RDPQ mode
    scsi: lpfc: Fix lpfc_nodelist leak when processing unsolicited event
    scsi: target: tcmu: Fix a use after free in tcmu_check_expired_queue_cmd()
    scsi: vhost: Notify TCM about the maximum sg entries supported per command
    scsi: qla2xxx: Remove return value from qla_nvme_ls()
    scsi: qla2xxx: Remove an unused function
    scsi: iscsi: Register sysfs for iscsi workqueue
    scsi: scsi_debug: Parser tables and code interaction
    scsi: core: Refactor scsi_mq_setup_tags function
    scsi: core: Fix incorrect usage of shost_for_each_device
    scsi: qla2xxx: Fix endianness annotations in source files
    ...

    Linus Torvalds
     

08 May, 2020

1 commit


23 Apr, 2020

1 commit


29 Feb, 2020

1 commit

  • Remove cmd_list functionality; no users left. With that the
    scsi_put_command() becomes empty, so remove that one, too.

    Link: https://lore.kernel.org/r/20200228075318.91255-14-hare@suse.de
    Reviewed-by: Christoph Hellwig
    Reviewed-by: Bart van Assche
    Signed-off-by: Hannes Reinecke
    Signed-off-by: Martin K. Petersen

    Hannes Reinecke
     

09 Nov, 2019

1 commit

  • struct scsi_cmnd cmd->req.resid_len which is returned and set respectively
    by the helper functions scsi_get_resid() and scsi_set_resid() is an
    unsigned int. Reflect this fact in the interface of these helper functions.

    Also fix compilation errors due to min() and max() type mismatch introduced
    by this change in scsi debug code, usb transport code and in the USB ENE
    card reader driver.

    Link: https://lore.kernel.org/r/20191030090847.25650-1-damien.lemoal@wdc.com
    Signed-off-by: Damien Le Moal
    Reviewed-by: Bart Van Assche
    Signed-off-by: Martin K. Petersen

    Damien Le Moal
     

02 Nov, 2019

1 commit

  • It isn't necessary to check the host depth in scsi_queue_rq() any more
    since it has been respected by blk-mq before calling scsi_queue_rq() via
    getting driver tag.

    Lots of LUNs may attach to same host and per-host IOPS may reach millions,
    so we should avoid expensive atomic operations on the host-wide counter in
    the IO path.

    This patch implements scsi_host_busy() via blk_mq_tagset_busy_iter() with
    one scsi command state for reading the count of busy IOs for scsi_mq.

    It is observed that IOPS is increased by 15% in IO test on scsi_debug (32
    LUNs, 32 submit queues, 1024 can_queue, libaio/dio) in a dual-socket
    system.

    Cc: Jens Axboe
    Cc: Ewan D. Milne
    Cc: Omar Sandoval ,
    Cc: "Martin K. Petersen" ,
    Cc: James Bottomley ,
    Cc: Christoph Hellwig ,
    Cc: Kashyap Desai
    Cc: Hannes Reinecke
    Cc: Laurence Oberman
    Cc: Bart Van Assche
    Link: https://lore.kernel.org/r/20191025065855.6309-1-ming.lei@redhat.com
    Signed-off-by: Ming Lei
    Reviewed-by: Jens Axboe
    Reviewed-by: Bart Van Assche
    Signed-off-by: Martin K. Petersen

    Ming Lei
     

23 Jul, 2019

1 commit

  • This allows a list of requests to be issued, with the LLD only writing the
    hardware doorbell when necessary, after the last request was prepared.
    This is more efficient if we have lists of requests to issue, particularly
    on virtualized hardware, where writing the doorbell is more expensive than
    on real hardware.

    The use case for this is plugged IO, where blk-mq flushes a batch of
    requests all at once.

    The API is the same as for blk-mq, just with blk-mq concepts tweaked to
    fit the SCSI subsystem API: the "last" flag in blk_mq_queue_data becomes a
    flag in scsi_cmnd, while the queue_num in the commit_rqs callback is
    extracted from the hctx and passed as a parameter.

    The only complication is that blk-mq uses different plugging heuristics
    depending on whether commit_rqs is present or not. So we have two
    different sets of blk_mq_ops and pick one depending on whether the
    scsi_host template uses commit_rqs or not.

    Signed-off-by: Paolo Bonzini
    Reviewed-by: Bart Van Assche
    Reviewed-by: Ming Lei
    Reviewed-by: Hannes Reinecke
    Signed-off-by: Martin K. Petersen

    Paolo Bonzini
     

27 Feb, 2019

1 commit


13 Feb, 2019

1 commit


06 Feb, 2019

1 commit


08 Dec, 2018

1 commit

  • Smatch generates a warning:

    drivers/scsi/scsi_lib.c:1656 scsi_mq_done() warn: test_bit() takes a bit number

    The problem is that SCMD_STATE_COMPLETE is supposed to be bit number 0
    and not a mask like "(1 << 0)". It is used like this:

    if (test_and_set_bit(SCMD_STATE_COMPLETE, &scmd->state))

    The test_and_set_bit() has a shift built in so it's a double left shift
    and uses bit number 1 instead of number 0. This bug is harmless because
    it's done consistently and it doesn't clash with any other flags.

    Fixes: f1342709d18a ("scsi: Do not rely on blk-mq for double completions")
    Reviewed-by: Keith Busch
    Acked-by: Martin K. Petersen
    Signed-off-by: Dan Carpenter
    Signed-off-by: Jens Axboe

    Dan Carpenter
     

27 Nov, 2018

1 commit

  • The scsi timeout error handling had been directly updating the block
    layer's request state to prevent a error handling and a natural completion
    from completing the same request twice. Fix this layering violation
    by having scsi control the fate of its commands with scsi owned flags
    rather than use blk-mq's.

    Reviewed-by: Christoph Hellwig
    Signed-off-by: Keith Busch
    Signed-off-by: Jens Axboe

    Keith Busch
     

10 Nov, 2018

1 commit


03 Aug, 2018

1 commit

  • To avoid introducing problems like those fixed in commit f7068114d45e
    ("sr: pass down correctly sized SCSI sense buffer"), this creates a macro
    wrapper for scsi_execute() that verifies the size of the sense buffer
    similar to what was done for command string sizes in commit 3756f6401c30
    ("exec: avoid gcc-8 warning for get_task_comm").

    Another solution could be to add a length argument to scsi_execute(),
    but this function already takes a lot of arguments and Jens was not fond
    of that approach.

    Additionally, this moves the SCSI_SENSE_BUFFERSIZE definition into
    scsi_device.h, and removes a redundant include for scsi_device.h from
    scsi_cmnd.h.

    Reviewed-by: Christoph Hellwig
    Signed-off-by: Kees Cook
    Signed-off-by: Jens Axboe

    Kees Cook
     

30 Jul, 2018

1 commit

  • Currently this function is implemented in the scsi layer, but it's
    actual place should be the block layer since T10-PI is a general
    data integrity feature that is used in the nvme protocol as well.

    Suggested-by: Christoph Hellwig
    Cc: Martin K. Petersen
    Signed-off-by: Max Gurtovoy
    Signed-off-by: Jens Axboe

    Max Gurtovoy
     

17 Mar, 2018

1 commit

  • Add dummies for scsi_dma_{,un}map(), to allow compile-testing if
    NO_DMA=y.

    This prevents the following from showing up later:

    ERROR: "scsi_dma_unmap" [drivers/firewire/firewire-sbp2.ko] undefined!
    ERROR: "scsi_dma_map" [drivers/firewire/firewire-sbp2.ko] undefined!

    Signed-off-by: Geert Uytterhoeven
    Reviewed-by: Mark Brown
    Acked-by: Robin Murphy
    Signed-off-by: Christoph Hellwig

    Geert Uytterhoeven
     

08 Mar, 2018

1 commit

  • Pull SCSI fixes from James Bottomley:
    "This is mostly fixes for driver specific issues (nine of them) and the
    storvsc performance improvement with interrupt handling which was
    dropped from the previous fixes pull request.

    We also have two regressions: one is a double call_rcu() in ATA error
    handling and the other is a missed conversion to BLK_STS_OK in
    __scsi_error_from_host_byte()"

    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    scsi: qedi: Fix kernel crash during port toggle
    scsi: qla2xxx: Fix FC-NVMe LUN discovery
    scsi: core: return BLK_STS_OK for DID_OK in __scsi_error_from_host_byte()
    scsi: core: Avoid that ATA error handling can trigger a kernel hang or oops
    scsi: qla2xxx: ensure async flags are reset correctly
    scsi: qla2xxx: do not check login_state if no loop id is assigned
    scsi: qla2xxx: Fixup locking for session deletion
    scsi: qla2xxx: Fix NULL pointer crash due to active timer for ABTS
    scsi: mpt3sas: wait for and flush running commands on shutdown/unload
    scsi: mpt3sas: fix oops in error handlers after shutdown/unload
    scsi: storvsc: Spread interrupts when picking a channel for I/O requests
    scsi: megaraid_sas: Do not use 32-bit atomic request descriptor for Ventura controllers

    Linus Torvalds
     

02 Mar, 2018

1 commit

  • Avoid that the recently introduced call_rcu() call in the SCSI core
    triggers a double call_rcu() call.

    Reported-by: Natanael Copa
    Reported-by: Damien Le Moal
    References: https://bugzilla.kernel.org/show_bug.cgi?id=198861
    Fixes: 3bd6f43f5cb3 ("scsi: core: Ensure that the SCSI error handler gets woken up")
    Signed-off-by: Bart Van Assche
    Reviewed-by: Damien Le Moal
    Tested-by: Damien Le Moal
    Cc: Natanael Copa
    Cc: Damien Le Moal
    Cc: Alexandre Oliva
    Cc: Pavel Tikhomirov
    Cc: Hannes Reinecke
    Cc: Johannes Thumshirn
    Cc:
    Signed-off-by: Martin K. Petersen

    Bart Van Assche
     

04 Feb, 2018

1 commit


09 Jan, 2018

1 commit

  • The block layer now handles zone write locking.

    [mkp: removed SCMD_ZONE_WRITE_LOCK reference in scsi_debugfs]

    Signed-off-by: Damien Le Moal
    Reviewed-by: Christoph Hellwig
    Reviewed-by: Martin K. Petersen
    Signed-off-by: Martin K. Petersen

    Damien Le Moal
     

08 Dec, 2017

1 commit

  • Commit 651a01364994 ("scsi: scsi_transport_sas: switch to bsg-lib for
    SMP passthrough") removed the only call to scsi_initialize_rq() from
    outside the SCSI core. Hence unexport scsi_initialize_rq().

    Signed-off-by: Bart Van Assche
    Cc: Christoph Hellwig
    Cc: Hannes Reinecke
    Cc: Johannes Thumshirn
    Signed-off-by: Martin K. Petersen

    Bart Van Assche
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

08 Sep, 2017

1 commit


01 Sep, 2017

1 commit

  • If a pass-through request is submitted then blk_get_request()
    initializes that request by calling scsi_initialize_rq(). Also call this
    function for filesystem requests. Introduce CMD_INITIALIZED to keep
    track of whether or not a request has already been initialized.

    Signed-off-by: Bart Van Assche
    Cc: Christoph Hellwig
    Cc: Brian King
    Cc: Hannes Reinecke
    Cc: Johannes Thumshirn
    Reviewed-by: Johannes Thumshirn
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Martin K. Petersen

    Bart Van Assche
     

26 Aug, 2017

1 commit

  • Commit e9c787e65c0c ("scsi: allocate scsi_cmnd structures as part of
    struct request") removed the scsi_get_command() function. Hence also
    remove the declaration of that function.

    Signed-off-by: Bart Van Assche
    Reviewed-by: Christoph Hellwig
    Cc: Hannes Reinecke
    Cc: Johannes Thumshirn
    Signed-off-by: Martin K. Petersen

    Bart Van Assche
     

17 Aug, 2017

1 commit

  • Releasing a zone write lock only when the write commnand that acquired
    the lock completes can cause deadlocks due to potential command
    reordering if the lock owning request is requeued and not executed. This
    problem exists only with the scsi-mq path as, unlike the legacy path,
    requests are moved out of the dispatch queue before being prepared and
    so before locking a zone for a write command.

    Since sd_uninit_cmnd() is now always called when a request is requeued,
    call sd_zbc_write_unlock_zone() from that function for write requests
    that acquired a zone lock instead of from sd_done(). Acquisition of a zone
    lock by a write command is indicated using the new command
    flag SCMD_ZONE_WRITE_LOCK.

    Signed-off-by: Damien Le Moal
    Reviewed-by: Christoph Hellwig
    Reviewed-by: Bart Van Assche
    Signed-off-by: Martin K. Petersen

    Damien Le Moal
     

07 Jul, 2017

1 commit

  • Pull SCSI updates from James Bottomley:
    "This is mostly updates of the usual suspects: lpfc, qla2xxx, bnx2fc,
    qedf, hpsa, hisi_sas, smartpqi, cxlflash, aacraid, csiostor along with
    a host of minor and miscellaneous changes"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (276 commits)
    qla2xxx: Fix NVMe entry_type for iocb packet on BE system
    scsi: qla2xxx: avoid unused-function warning
    scsi: snic: fix a couple of spelling mistakes/typos
    scsi: qla2xxx: fix a bunch of typos and spelling mistakes
    scsi: lpfc: don't double count abort errors
    scsi: lpfc: spin_lock_irq() is not nestable
    scsi: hisi_sas: optimise DMA slot memory
    scsi: ibmvfc: constify dev_pm_ops structures.
    scsi: ibmvscsi: constify dev_pm_ops structures.
    scsi: cxlflash: Update debug prints in reset handlers
    scsi: cxlflash: Update send_tmf() parameters
    scsi: cxlflash: Avoid double free of character device
    scsi: Add STARGET_CREATED_REMOVE state to scsi_target_state
    scsi: ses: do not add a device to an enclosure if enclosure_add_links() fails.
    scsi: ufs: flush eh_work when eh_work scheduled.
    scsi: qla2xxx: Protect access to qpair members with qpair->qp_lock
    scsi: sun_esp: fix device reference leaks
    scsi: fnic: changing queue command to return result DID_IMM_RETRY when rport is init
    scsi: fnic: correct speed display and add support for 25,40 and 100G
    scsi: fnic: added timestamp reporting in fnic debug stats
    ...

    Linus Torvalds
     

21 Jun, 2017

1 commit

  • Instead of explicitly calling scsi_req_init() after blk_get_request(),
    call that function from inside blk_get_request(). Add an
    .initialize_rq_fn() callback function to the block drivers that need
    it. Merge the IDE .init_rq_fn() function into .initialize_rq_fn()
    because it is too small to keep it as a separate function. Keep the
    scsi_req_init() call in ide_prep_sense() because it follows a
    blk_rq_init() call.

    References: commit 82ed4db499b8 ("block: split scsi_request out of struct request")
    Signed-off-by: Bart Van Assche
    Cc: Christoph Hellwig
    Cc: Hannes Reinecke
    Cc: Omar Sandoval
    Cc: Nicholas Bellinger
    Signed-off-by: Jens Axboe

    Bart Van Assche
     

13 Jun, 2017

1 commit

  • Dereferencing shost from scsi_exit_rq() is not safe because the SCSI
    host may already have been freed when scsi_exit_rq() is called.
    Increasing the shost reference count in scsi_init_rq() and dropping that
    reference in scsi_exit_rq() is nontrivial since scsi_host_dev_release()
    may sleep and since scsi_exit_rq() may be called from interrupt
    context. Since scsi_exit_rq() only needs a single bit from shost, copy
    that bit into struct scsi_cmnd.

    Reported-by: Scott Bauer
    Fixes: e9c787e65c0c ("scsi: allocate scsi_cmnd structures as part of struct request")
    Signed-off-by: Bart Van Assche
    Reviewed-by: Christoph Hellwig
    Cc: Hannes Reinecke
    Cc: Scott Bauer
    Cc: Jan Kara
    Cc:
    Signed-off-by: Martin K. Petersen

    Bart Van Assche
     

01 Feb, 2017

1 commit

  • This can be used to check for fs vs non-fs requests and basically
    removes all knowledge of BLOCK_PC specific from the block layer,
    as well as preparing for removing the cmd_type field in struct request.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    Christoph Hellwig
     

28 Jan, 2017

1 commit

  • And require all drivers that want to support BLOCK_PC to allocate it
    as the first thing of their private data. To support this the legacy
    IDE and BSG code is switched to set cmd_size on their queues to let
    the block layer allocate the additional space.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    Christoph Hellwig
     

25 Nov, 2014

1 commit


12 Nov, 2014

1 commit

  • Currently scsi piggy backs on the block layer to define the concept
    of a tagged command. But we want to be able to have block-level host-wide
    tags assigned even for untagged commands like the initial INQUIRY, so add
    a new SCSI-level flag for commands that are tagged at the scsi level, so
    that even commands without that set can have tags assigned to them. Note
    that this alredy is the case for the blk-mq code path, and this just lets
    the old path catch up with it.

    We also set this flag based upon sdev->simple_tags instead of the block
    queue flag, so that it is entirely independent of the block layer tagging,
    and thus always correct even if a driver doesn't use block level tagging
    yet.

    Also remove the old blk_rq_tagged; it was only used by SCSI drivers, and
    removing it forces them to look for the proper replacement.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Mike Christie
    Reviewed-by: Martin K. Petersen
    Reviewed-by: Hannes Reinecke

    Christoph Hellwig
     

01 Oct, 2014

1 commit

  • A set of flags introduced in the block layer enable better control over
    how protection information is handled. These flags are useful for both
    error injection and data recovery purposes. Checking can be enabled and
    disabled for controller and disk, and the guard tag format is now a
    per-I/O property.

    Update sd_protect_op to communicate the relevant information to the
    low-level device driver via a set of flags in scsi_cmnd.

    Signed-off-by: Martin K. Petersen
    Reviewed-by: Sagi Grimberg
    Acked-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    Martin K. Petersen
     

18 Jul, 2014

1 commit


04 Jul, 2014

1 commit

  • Commit 8846bab180fa introduced a helper that can be used to query the
    wire transfer size for a SCSI command taking protection information into
    account.

    However, some commands do not have a 1:1 mapping between the block range
    they work on and the payload size (discard, write same). After the
    scatterlist has been set up these requests use __data_len to store the
    number of bytes to report completion on. This means that callers of
    scsi_transfer_length() would get the wrong byte count for these types of
    requests.

    To overcome this we make scsi_transfer_length() use the scatterlist
    length in the scsi_data_buffer as basis for the wire transfer
    calculation instead of __data_len.

    Reported-by: Christoph Hellwig
    Debugged-by: Mike Christie
    Signed-off-by: Martin K. Petersen
    Signed-off-by: Christoph Hellwig
    Reviewed-by: Sagi Grimberg
    Fixes: d77e65350f2d82dfa0557707d505711f5a43c8fd
    Cc: stable@vger.kernel.org
    Signed-off-by: James Bottomley

    Martin K. Petersen
     

13 Jun, 2014

1 commit

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

    - Add support for T10 PI pass-through between vhost-scsi +
    virtio-scsi (MST + Paolo + MKP + nab)
    - Add support for T10 PI in qla2xxx target mode (Quinn + MKP + hch +
    nab, merged through scsi.git)
    - Add support for percpu-ida pre-allocation in qla2xxx target code
    (Quinn + nab)
    - A number of iser-target fixes related to hardening the network
    portal shutdown path (Sagi + Slava)
    - Fix response length residual handling for a number of control CDBs
    (Roland + Christophe V.)
    - Various iscsi RFC conformance fixes in the CHAP authentication path
    (Tejas and Calsoft folks + nab)
    - Return TASK_SET_FULL status for tcm_fc(FCoE) DataIn + Response
    failures (Vasu + Jun + nab)
    - Fix long-standing ABORT_TASK + session reset hang (nab)
    - Convert iser-initiator + iser-target to include T10 bytes into EDTL
    (Sagi + Or + MKP + Mike Christie)
    - Fix NULL pointer dereference regression related to XCOPY introduced
    in v3.15 + CC'ed to v3.12.y (nab)"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (34 commits)
    target: Fix NULL pointer dereference for XCOPY in target_put_sess_cmd
    vhost-scsi: Include prot_bytes into expected data transfer length
    TARGET/sbc,loopback: Adjust command data length in case pi exists on the wire
    libiscsi, iser: Adjust data_length to include protection information
    scsi_cmnd: Introduce scsi_transfer_length helper
    target: Report correct response length for some commands
    target/sbc: Check that the LBA and number of blocks are correct in VERIFY
    target/sbc: Remove sbc_check_valid_sectors()
    Target/iscsi: Fix sendtargets response pdu for iser transport
    Target/iser: Fix a wrong dereference in case discovery session is over iser
    iscsi-target: Fix ABORT_TASK + connection reset iscsi_queue_req memory leak
    target: Use complete_all for se_cmd->t_transport_stop_comp
    target: Set CMD_T_ACTIVE bit for Task Management Requests
    target: cleanup some boolean tests
    target/spc: Simplify INQUIRY EVPD=0x80
    tcm_fc: Generate TASK_SET_FULL status for response failures
    tcm_fc: Generate TASK_SET_FULL status for DataIN failures
    iscsi-target: Reject mutual authentication with reflected CHAP_C
    iscsi-target: Remove no-op from iscsit_tpg_del_portal_group
    iscsi-target: Fix CHAP_A parameter list handling
    ...

    Linus Torvalds
     

12 Jun, 2014

1 commit

  • In case protection information exists on the wire
    scsi transports should include it in the transfer
    byte count (even if protection information does not
    exist in the host memory space). This helper will
    compute the total transfer length from the scsi
    command data length and protection attributes.

    Signed-off-by: Sagi Grimberg
    Signed-off-by: Martin K. Petersen
    Cc: stable@vger.kernel.org # 3.15+
    Signed-off-by: Nicholas Bellinger

    Sagi Grimberg
     

20 May, 2014

1 commit