• Nicholas Bellinger's avatar
    target: Fix TAS handling for multi-session se_node_acls · 547551e5
    Nicholas Bellinger authored
    commit ebde1ca5 upstream.
    
    This patch fixes a bug in TMR task aborted status (TAS)
    handling when multiple sessions are connected to the
    same target WWPN endpoint and se_node_acl descriptor,
    resulting in TASK_ABORTED status to not be generated
    for aborted se_cmds on the remote port.
    
    This is due to core_tmr_handle_tas_abort() incorrectly
    comparing se_node_acl instead of se_session, for which
    the multi-session case is expected to be sharing the
    same se_node_acl.
    
    Instead, go ahead and update core_tmr_handle_tas_abort()
    to compare tmr_sess + cmd->se_sess in order to determine
    if the LUN_RESET was received on a different I_T nexus,
    and TASK_ABORTED status response needs to be generated.
    Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
    Cc: Quinn Tran <quinn.tran@qlogic.com>
    Cc: Himanshu Madhani <himanshu.madhani@qlogic.com>
    Cc: Sagi Grimberg <sagig@mellanox.com>
    Cc: Hannes Reinecke <hare@suse.de>
    Cc: Andy Grover <agrover@redhat.com>
    Cc: Mike Christie <mchristi@redhat.com>
    Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    547551e5
target_core_tmr.c 12.2 KB