• Shyam Prasad N's avatar
    cifs: do not search for channel if server is terminating · 88675b22
    Shyam Prasad N authored
    In order to scale down the channels, the following sequence
    of operations happen:
    1. server struct is marked for terminate
    2. the channel is deallocated in the ses->chans array
    3. at a later point the cifsd thread actually terminates the server
    
    Between 2 and 3, there can be calls to find the channel for
    a server struct. When that happens, there can be an ugly warning
    that's logged. But this is expected.
    
    So this change does two things:
    1. in cifs_ses_get_chan_index, if server->terminate is set, return
    2. always make sure server->terminate is set with chan_lock held
    Signed-off-by: default avatarShyam Prasad N <sprasad@microsoft.com>
    Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
    88675b22
smb2pdu.c 166 KB