03 Mar, 2013

1 commit

  • Pull SCSI target patches from Nicholas Bellinger:
    "Here are the remaining target-pending patches for v3.9-rc1.

    The most important one here is the immediate queue starvation
    regression fix for iscsi-target, which addresses a bug that's
    effecting v3.5+ kernels under heavy sustained READ only workloads.
    Thanks alot to Benjamin Estrabaud for helping to track this down!

    Also included is a pSCSI exception bugfix from Asias, along with a
    handful of other minor changes. Both bugfixes are CC'ed to stable."

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
    target/pscsi: Rename sg_num to nr_vecs in pscsi_get_bio()
    target/pscsi: Fix page increment
    target/pscsi: Drop unnecessary NULL assignment to bio->bi_next
    target: Add __exit annotation for module_exit functions
    iscsi-target: Fix immediate queue starvation regression with DATAIN

    Linus Torvalds
     

28 Feb, 2013

1 commit


29 Jan, 2013

1 commit


09 Jan, 2013

1 commit


13 Dec, 2012

2 commits

  • If the TPG memory is allocated successfully, but we fail further along
    in the function, a dangling pointer to freed memory is left in the TPort
    structure. This is mostly harmless, but does prevent re-trying the
    operation without first removing the TPort altogether.

    Reported-by: Chen Gang
    Signed-off-by: Chris Boot
    Cc: Andy Grover
    Cc: Nicholas A. Bellinger
    Cc: stable@vger.kernel.org
    Signed-off-by: Nicholas Bellinger

    Chris Boot
     
  • There is no need to memcpy() a 32-bit integer. The data pointer is
    guaranteed to be quadlet aligned by the FireWire stack so we can replace
    the memcpy() with an assignment.

    Thanks to Stefan Richter.

    Signed-off-by: Chris Boot
    Cc: Stefan Richter
    Cc: Andy Grover
    Cc: Clemens Ladisch
    Cc: Nicholas A. Bellinger
    Signed-off-by: Nicholas Bellinger

    Chris Boot
     

08 Nov, 2012

1 commit

  • The CONFIG_EXPERIMENTAL config item has not carried much meaning for a
    while now and is almost always enabled by default. As agreed during the
    Linux kernel summit, remove it from any "depends on" lines in Kconfigs.

    CC: Chris Boot
    CC: "Nicholas A. Bellinger"
    Signed-off-by: Kees Cook
    Signed-off-by: Nicholas Bellinger

    Kees Cook
     

23 Sep, 2012

1 commit


18 Sep, 2012

4 commits

  • Using list_move_tail() instead of list_del() + list_add_tail().

    spatch with a semantic match is used to found this problem.
    (http://coccinelle.lip6.fr/)

    Signed-off-by: Wei Yongjun
    Signed-off-by: Nicholas Bellinger

    Wei Yongjun
     
  • Every fabric driver has to supply a se_tfo->set_fabric_sense_len()
    method, just so iSCSI can return an offset of 2. However, every fabric
    driver is already allocating a sense buffer and passing it into the
    target core, either via transport_init_se_cmd() or target_submit_cmd().

    So instead of having iSCSI pass the start of its sense buffer into the
    core and then later tell the core to skip the first 2 bytes, it seems
    easier for iSCSI just to do the offset of 2 when it passes the sense
    buffer into the core. Then we can drop the se_tfo->set_fabric_sense_len()
    everywhere, and just add a couple of lines of code to iSCSI to set the
    sense data length to the beginning of the buffer right before it sends
    it over the network.

    (nab: Remove .set_fabric_sense_len usage from tcm_qla2xxx_npiv_ops +
    change transport_get_sense_buffer to follow v3.6-rc6 code w/o
    ->set_fabric_sense_len usage)

    Signed-off-by: Roland Dreier
    Signed-off-by: Nicholas Bellinger

    Roland Dreier
     
  • There are no callers of se_tfo->get_fabric_sense_len(), so we should
    stop having every fabric driver implement it.

    Signed-off-by: Roland Dreier
    Signed-off-by: Nicholas Bellinger

    Roland Dreier
     
  • It's always set, and controls whether uppercase A-F are allowed hex values.
    I don't see a reason not to accept these.

    Signed-off-by: Andy Grover
    Cc: Chris Boot
    Signed-off-by: Nicholas Bellinger

    Andy Grover
     

18 Jul, 2012

1 commit

  • We want it to be possible for target_submit_cmd() to return errors up
    to its fabric module callers. For now just update the prototype to
    return an int, and update all callers to handle non-zero return values
    as an error.

    This is immediately useful for tcm_qla2xxx to fix a long-standing active
    I/O session shutdown race, but tcm_fc, usb-gadget, and sbp-target the
    fabric maintainers need to check + ACK that handling a target_submit_cmd()
    failure due to session shutdown does not introduce regressions

    (nab: Respin against for-next after initial NACK + update docbook comment +
    fix double se_cmd init in exception path for usb-gadget)

    Cc: Chad Dupuis
    Cc: Arun Easi
    Cc: Chris Boot
    Cc: Stefan Richter
    Cc: Mark Rustad
    Cc: Sebastian Andrzej Siewior
    Cc: Felipe Balbi
    Cc: Andy Grover
    Signed-off-by: Roland Dreier
    Signed-off-by: Nicholas Bellinger

    Roland Dreier
     

17 Jul, 2012

2 commits


31 May, 2012

1 commit


10 May, 2012

1 commit

  • The FireWire SBP-2 Target is a driver for using an IEEE-1394 connection
    as a SCSI transport. This module uses the SCSI Target framework to
    expose LUNs to other machines attached to a FireWire bus, in effect
    acting as a FireWire hard disk similar to FireWire Target Disk mode
    on many Apple computers.

    This commit contains the squashed pull from Chris Boot's SBP-2-Target:

    https://github.com/bootc/Linux-SBP-2-Target.git patch-v3

    firewire-sbp-target: Add sbp_base.h header
    firewire-sbp-target: Add sbp_configfs.c
    firewire-sbp-target: Add sbp_fabric.{c,h}
    firewire-sbp-target: Add sbp_management_agent.{c,h}
    firewire-sbp-target: Add sbp_login.{c,h}
    firewire-sbp-target: Add sbp_target_agent.{c,h}
    firewire-sbp-target: Add sbp_scsi_cmnd.{c,h}
    firewire-sbp-target: Add to target Kconfig and Makefile

    Also add bootc's entry to the MAINTAINERS file. Great work Chris !!

    Signed-off-by: Chris Boot
    Acked-by: Stefan Richter
    Cc: Andy Grover
    Cc: Clemens Ladisch
    Signed-off-by: Nicholas Bellinger

    Chris Boot