Skip to content
  • Gera Kazakov's avatar
    target: Fix >= v3.9+ regression in PR APTPL + ALUA metadata write-out · f730f915
    Gera Kazakov authored
    This patch fixes a >= v3.9+ regression in __core_scsi3_write_aptpl_to_file()
    + core_alua_write_tpg_metadata() write-out, where a return value of -EIO was
    incorrectly being returned upon success.
    
    This bug was originally introduced in:
    
    commit 0e9b10a9
    Author: Al Viro <viro@zeniv.linux.org.uk>
    Date:   Sat Feb 23 15:22:43 2013 -0500
    
        target: writev() on single-element vector is pointless
    
    However, given that the return of core_scsi3_update_and_write_aptpl()
    was not used to determine if a command should be returned with non GOOD
    status, this bug was not being triggered in PR logic until v3.11-rc1 by
    commit:
    
    commit 459f213b
    
    
    Author: Andy Grover <agrover@redhat.com>
    Date:   Thu May 16 10:41:02 2013 -0700
    
        target: Allocate aptpl_buf inside update_and_write_aptpl()
    
    So, go ahead and only return -EIO if kernel_write() returned a
    negative value.
    
    Reported-by: default avatarGera Kazakov <gkazakov@msn.com>
    Signed-off-by: default avatarGera Kazakov <gkazakov@msn.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Andy Grover <agrover@redhat.com>
    Cc: stable@vger.kernel.org # 3.9+
    Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
    f730f915