Share via


Info about smb/smb2 timeouts

Question

Friday, September 18, 2015 3:38 AM

Hi,

It seems for smb2 protocol we need sesstimeout as well as extendedsesstimeout to handle both sync and async command timeouts?

can someone confirm?

can I have both registry same value , say 1800 seconds?

All replies (3)

Friday, September 18, 2015 8:07 PM ✅Answered

Hi,

Both SessTimeout and ExtendedSessTimeout are covered in details in the blog post [SMB 2.x and SMB 3.0 Timeouts in Windows].

Extended timeouts are used for requests that have been converted to asynchronous by the server, i.e. interim responses with Status set to STATUS_PENDING and SMB2_FLAGS_ASYNC_COMMAND bit set in Flags. The default ExtendedSessTimeout is 4 x SessTimeout, unless otherwise configured in the registry. 

We have not typically seen a value of 30 minutes for those two registry entries. You can set them to the value that is appropriate to your scenario. However, a very high value does not seem reasonable.  

Blog:  [SMB 2.x and SMB 3.0 Timeouts in Windows]

http://blogs.msdn.com/b/openspecification/archive/2013/03/27/smb-2-x-and-smb-3-0-timeouts-in-windows.aspx

See section: Request Expiration Timer [MS-SMB2]

For synchronous requests, SessTimeout is used as timer.

If a request is being processed asynchronously, Windows clients extend the time-out as follows:

• If the asynchronous operation is SMB2 Directory Change Notification, the client will not enforce a timeout. 
• Otherwise, in a Windows 7 or newer client with ExtendedSessTimeout configured, the timeout is extended to the value of ExtendedSessTimeout
• Otherwise, in a Windows 7 or newer client with ExtendedSessTimeout NOT configured, the timeout is extended to four times the value of SessTimeout (4 * SessTimeout). By default, ExtendedSessTimeout is not configured.

Thanks,

Edgar


Monday, September 21, 2015 9:01 PM ✅Answered

Hi,

You can set those registries to a value that is appropriate to your deployment scenario. As long as the client does NOT idle on its sessions, it should be fine. It is just uncommon that operations take that long.

Thanks,

Edgar


Monday, September 21, 2015 7:23 AM

Thanks! Edgar.

Ours is linux cifs server and that is why we keep little higher timeout value.

By default sesstmeout is not configures, so can we configure this to say 300 seconds for sync requests and keep 900 seconds for extended sesstimeout for asyc request?