lkml.org 
[lkml]   [2012]   [Jun]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[ 57/69] target: Return error to initiator if SET TARGET PORT GROUPS emulation fails
    3.2-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>
    ---
    drivers/target/target_core_alua.c | 5 +++--
    1 file changed, 3 insertions(+), 2 deletions(-)

    --- a/drivers/target/target_core_alua.c
    +++ b/drivers/target/target_core_alua.c
    @@ -352,9 +352,11 @@

    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-17 21:01    [W:3.962 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site