• Steve French's avatar
    smb3: cleanup and clarify status of tree connections · fdf59eb5
    Steve French authored
    Currently the way the tid (tree connection) status is tracked
    is confusing.  The same enum is used for structs cifs_tcon
    and cifs_ses and TCP_Server_info, but each of these three has
    different states that they transition among.  The current
    code also unnecessarily uses camelCase.
    
    Convert from use of statusEnum to a new tid_status_enum for
    tree connections.  The valid states for a tid are:
    
            TID_NEW = 0,
            TID_GOOD,
            TID_EXITING,
            TID_NEED_RECON,
            TID_NEED_TCON,
            TID_IN_TCON,
            TID_NEED_FILES_INVALIDATE, /* unused, considering removing in future */
            TID_IN_FILES_INVALIDATE
    
    It also removes CifsNeedTcon, CifsInTcon, CifsNeedFilesInvalidate and
    CifsInFilesInvalidate from the statusEnum used for session and
    TCP_Server_Info since they are not relevant for those.
    
    A follow on patch will fix the places where we use the
    tcon->need_reconnect flag to be more consistent with the tid->status.
    
    Also fixes a bug that was:
    Reported-by: default avatarkernel test robot <lkp@intel.com>
    Reviewed-by: default avatarShyam Prasad N <sprasad@microsoft.com>
    Reviewed-by: default avatarRonnie Sahlberg <lsahlber@redhat.com>
    Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
    fdf59eb5
cifsglob.h 66.4 KB