[cifs-protocol] [REG: 110120160951867] Requesting clarification of CIFS client timeout behavior
jlayton at samba.org
Tue Dec 7 14:27:07 MST 2010
On Tue, 7 Dec 2010 20:56:17 +0000
Edgar Olougouna <edgaro at microsoft.com> wrote:
> I have been working with the product group on this issue regarding Windows-based CIFS clients' timeout behavior. Please find the answers as follows. Let me know whether you need further clarifications. The product group is working on fleshing out the relevant Windows behavior notes.
> 1) If the server is responding to the echo requests, does the client still eventually return an error to the application or does it wait indefinitely for the response?
> If the server is responding to the echo requests, the client will wait until the session times out, and the client will not send any "interim" response to the calling application.
> 2) If it returns an error to the application, does the client send a SMB_COM_NT_CANCEL to cancel the outstanding request?
> The client will not send a CANCEL request on any outstanding request; it simply tears down the connection after the session times out.
> 3) If it waits indefinitely, does it send more than one echo request? If so, how frequently are they sent?
> Echo requests are sent only when the connection has been idle for more than the session timeout. The default session timeout value is 45 seconds in Windows NT, and 60 seconds in Windows 2000 and onward. If there is no response on the connection for another session timeout, the client will tear down the connection. If there is "any" response, it will not disconnect. The same repeats again.
> 4) Do more recent versions of Windows behave similarly?
> Yes, there is no behavior change in recent versions of Windows.
I have to point out though that after I asked this question, I did some
testing with a crippled samba server that never replies to write
requests. With win2k8, trying to copy a file to such a server generally
caused the client to do a single SMBecho while waiting for the write
reply. It received the echo reply and then shut down the socket 30s
later. The timing varied a little, but it pretty much always closes
down the socket.
It's possible I have something configured strangely or that something
else was forcing a reconnect, but my experience doesn't bear out what
you're saying above. If you're interested I can set this up again and
provide some captures.
Jeff Layton <jlayton at samba.org>
More information about the cifs-protocol