• Shyam Prasad N's avatar
    cifs: commands that are retried should have replay flag set · 4f1fffa2
    Shyam Prasad N authored
    MS-SMB2 states that the header flag SMB2_FLAGS_REPLAY_OPERATION
    needs to be set when a command needs to be retried, so that
    the server is aware that this is a replay for an operation that
    appeared before.
    
    This can be very important, for example, for state changing
    operations and opens which get retried following a reconnect;
    since the client maybe unaware of the status of the previous
    open.
    
    This is particularly important for multichannel scenario, since
    disconnection of one connection does not mean that the session
    is lost. The requests can be replayed on another channel.
    
    This change also makes use of exponential back-off before replays
    and also limits the number of retries to "retrans" mount option
    value.
    
    Also, this change does not modify the read/write codepath.
    Signed-off-by: default avatarShyam Prasad N <sprasad@microsoft.com>
    Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
    4f1fffa2
smb2ops.c 163 KB