[cifs-protocol] [REG: 110120160951867] Requesting clarification of CIFS client timeout behavior

Edgar Olougouna edgaro at microsoft.com
Tue Dec 7 14:33:56 MST 2010


Jeff,

Could you provide some network captures so I can further investigate the behavior you described?

Thanks,
Edgar

-----Original Message-----
From: Jeff Layton [mailto:jlayton at poochiereds.net] On Behalf Of Jeff Layton
Sent: Tuesday, December 07, 2010 3:27 PM
To: Edgar Olougouna
Cc: Christopher R. Hertel; pfif at tridgell.net; cifs-protocol at samba.org; MSSolve Case Email
Subject: Re: [cifs-protocol] [REG: 110120160951867] Requesting clarification of CIFS client timeout behavior

On Tue, 7 Dec 2010 20:56:17 +0000
Edgar Olougouna <edgaro at microsoft.com> wrote:

> Jeff,
> 
> 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?
> 
> Answer:
> 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?
> 
> Answer:
> 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?
> 
> Answer:
> 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?
> 
> Answer:
> Yes, there is no behavior change in recent versions of Windows.
> 

Thanks Edgar...

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 mailing list