• Paul Bolle's avatar
    target: silence GCC warning in target_alua_state_check · 1e3ab99d
    Paul Bolle authored
    Building target_core_alua.o triggers a GCC warning:
        drivers/target/target_core_alua.c: In function ‘target_alua_state_check’:
        drivers/target/target_core_alua.c:773:18: warning: ‘alua_ascq’ may be used uninitialized in this function [-Wmaybe-uninitialized]
           cmd->scsi_ascq = alua_ascq;
                          ^
    
    This is a false positive. A little trial and error shows it is
    apparently caused by core_alua_state_lba_dependent(). It must be hard
    for GCC to track the branches of a switch statement, inside a
    list_for_each_entry loop, inside a while loop.
    
    But if we add a small (inline) helper function we can reorganize the
    code a bit. That also allows to drop alua_ascq which, obviously, gets
    rid of this warning.
    Signed-off-by: default avatarPaul Bolle <pebolle@tiscali.nl>
    Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
    1e3ab99d
target_core_alua.c 64.6 KB