How to avoid client timeout.(SMB2 ECHO Request)

Richard Sharpe realrichardsharpe at gmail.com
Fri Feb 7 08:08:11 MST 2014


On Fri, Feb 7, 2014 at 4:57 AM, Stefan (metze) Metzmacher
<metze at samba.org> wrote:
> Am 07.02.2014 07:00, schrieb sandeep nag:
>> http://msdn.microsoft.com/en-us/library/cc246540.aspx
>>
>> There is write/truncate request from the client and processing in samba VFS
>> plugin is taking longer time(which is expected as per our VFS plugin
>> processing time).
>> The client meanwhile sends many SMB ECHO requests
>> (every 30 seconds (not sure)). However, they sit in the socket because the
>> smbd
>> is now stuck and will only process the ECHOs after the truncate. Because
>> of this, I am seeing client time outs.
>>
>> If the ECHO could be responded promptly, then the client would not time.
>> How can this be done, please guide me in implementing/coding/undertanding
>> this.
>
> Which client sends SMB2 Echo requests? Can you provide a capture?
> I thought Windows clients would rely on TCP keepalives for SMB2.
>
> For SMB1 we have the "async smb echo handler" option. From man smb.conf:
>
>        async smb echo handler (G)
>
>            This parameter specifies whether Samba should fork the async
> smb echo handler. It can be beneficial if your
>            file system can block syscalls for a very long time. In some
> circumstances, it prolongs the timeout that
>            Windows uses to determine whether a connection is dead.
>
>            Default: async smb echo handler = no

He was being sloppy with his terminology. They use Samba 3.5.15 plus a
bit. Thus, they only support SMB1.

-- 
Regards,
Richard Sharpe
(何以解憂?唯有杜康。--曹操)


More information about the samba-technical mailing list