Re: cifs client commands/requests timeout values

Steve French <[email protected]> Wed, 12 May 2010 10:41:19 -0500
Newsgroups gmane.linux.file-systems.cifs
Message-ID <[email protected]>
On Wed, May 12, 2010 at 10:04 AM, Shirish Pargaonkar
<[email protected]> wrote:
> Is it reasonable for a std op command like get path info to expect response
> in 15 seconds when it happens to be a 50th command lined up behind
> 49 long op commands like 56 KBytes reads/writes.
>
>
>        if (long_op == CIFS_STD_OP)
>                timeout = 15 * HZ;
>        else if (long_op == CIFS_VLONG_OP) /* e.g. slow writes past EOF */
>                timeout = 180 * HZ;
>        else if (long_op == CIFS_LONG_OP)
>                timeout = 45 * HZ; /* should be greater than
>
> Should not timeout value be calculated value based on some criterion
> like what_kind_of and how_many commands/requests are in the pipeline
> on that socket at the client end?

Samba should be almost completely async for reads/writes, so for
recent Samba query path infos should not be heavily impacted by
reads/writes (for other unrelated inodes) that are blocked on disk i/o

> Above timeout values are reasonable if an individual command was the
> only command/request sent.

Lengthening the timeout based on the current # of requests on the wire
is worth experimenting with, but can have unpleasant sideeffects (user
may not want to wait 10 minutes to find out E_HOSTDOWN)


-- 
Thanks,

Steve