lkml.org 
[lkml]   [2012]   [Jun]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[ 61/61] target: Return error to initiator if SET TARGET PORT GROUPS emulation fails
    3.4-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Roland Dreier <roland@purestorage.com>

    commit 59e4f541baf728dbb426949bfa9f6862387ffd0e upstream.

    The error paths in target_emulate_set_target_port_groups() are all
    essentially "rc = -EINVAL; goto out;" but the code at "out:" ignores
    rc and always returns success. This means that even if eg explicit
    ALUA is turned off, the initiator will always see a good SCSI status
    for SET TARGET PORT GROUPS.

    Fix this by returning rc as is intended. It appears this bug was
    added by the following patch:

    commit 05d1c7c0d0db4cc25548d9aadebb416888a82327
    Author: Andy Grover <agrover@redhat.com>
    Date: Wed Jul 20 19:13:28 2011 +0000

    target: Make all control CDBs scatter-gather

    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Cc: Andy Grover <agrover@redhat.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    [bwh: Backported to 3.2: we have transport_complete_task()
    and not target_complete_cmd()]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/target/target_core_alua.c | 8 +++++---
    1 file changed, 5 insertions(+), 3 deletions(-)

    --- a/drivers/target/target_core_alua.c
    +++ b/drivers/target/target_core_alua.c
    @@ -351,9 +351,11 @@ int target_emulate_set_target_port_group

    out:
    transport_kunmap_data_sg(cmd);
    - task->task_scsi_status = GOOD;
    - transport_complete_task(task, 1);
    - return 0;
    + if (!rc) {
    + task->task_scsi_status = GOOD;
    + transport_complete_task(task, 1);
    + }
    + return rc;
    }

    static inline int core_alua_state_nonoptimized(



    \
     
     \ /
      Last update: 2012-06-20 21:21    [W:0.023 / U:242.048 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site