[linux-cifs-client] Re: feature request, please forward to: cifs vfs

Steven French sfrench at us.ibm.com
Mon Dec 5 17:24:53 GMT 2005






> apologies if this has been considered before, also for not opening a
> bugzilla account.  please consider adding a mount flag "intr" as in
> nfs, also an option to time out on reads.

cifs vfs does support hard/soft mount options which are helpful for some of
the same reasons as intr, but I did not add an intr because I was not
certain its effect on the tcp socket write api and I was not certain that
the nfs approach to timing out requests would translate perfectly to the
way wait_event is used in fs/cifs/transport.c SendReceive and SendReceive2

CIFS Reads of course do time out (15 seconds IIRC) see fs/cifs/transport.c
the calls to wait_event - but until very recently (cifs version 1.39a) the
wait queue was not woken up often enough when only a single process was
accessing the mount - so requests could sit "ready to time out" but not
actually waking up.    This has changed recently - to have the notify
thread wake up every 15 seconds and try to wakeup timedout requests (so
could a bit more than 15 seconds depending on when the requests were sent
to actually time out).   Unfortunately there are a few cases (readdir for
example) where the request will time out but retry (as if the "hard" mount
option were specified).   The cifs code does honor the "soft" (do not retry
as much) mount option (which is the default) but only in the reconnection
path (not in the case of a tcp and smb connnection which are still up - but
the requests are timed out - cifs will retry those).

Steve French
Senior Software Engineer
Linux Technology Center - IBM Austin
phone: 512-838-2294
email: sfrench at-sign us dot ibm dot com
-------------- next part --------------
HTML attachment scrubbed and removed


More information about the linux-cifs-client mailing list