[linux-cifs-client] [PATCH] cifs: hard mount option behaviour implementation

shirishpargaonkar at gmail.com shirishpargaonkar at gmail.com
Sat Jun 5 10:37:05 MDT 2010


Add support for hard mount option by using -o hard.

Current cifs behaviour amounts to that of a soft mount.
If a response for a command does not arrive within a certain timeout,
server is considered non-responsive and a reconnect is attempted.
Commands/requests are returned with error for an app to decide.

This code change adds hard mount option behaviour.
A command waits in interruptible wait timing out every 60 seconds
to log a debug message about server not responding and going
back on interruptible wait queue for another 60 seconds.
Once response arrives, a debug messages is logged that server is
responding.
An user has an option to interrupt a program if a response has not
arrived for long enough for user to deem a dead server and retry
the program.
This takes care of unnecessary reconnects and subsequent retries
of numerous commands for invalidated file handles etc. when either
the server or client is stressed or slow. 

These commands such as negotiate, session setup, tree connect, 
logoff, non-blocking posix lock, and dfs referral are always soft.




More information about the linux-cifs-client mailing list