On Fri, 16 Mar 2012 18:09:29 +0300
Pavel Shilovsky <[email protected]> wrote:

> It's the essential step before respecting MaxMpxCount value during
> negotiating because we will keep only one extra slot for sending
> echo requests. If there is no response during two echo intervals -
> reconnect the tcp session.
> 
> Signed-off-by: Pavel Shilovsky <[email protected]>
> ---
>  fs/cifs/README     |    6 +-----
>  fs/cifs/cifsfs.c   |    5 -----
>  fs/cifs/cifsglob.h |    3 ---
>  fs/cifs/connect.c  |    7 +++----
>  4 files changed, 4 insertions(+), 17 deletions(-)
> 
> diff --git a/fs/cifs/README b/fs/cifs/README
> index 895da1d..b7d782b 100644
> --- a/fs/cifs/README
> +++ b/fs/cifs/README
> @@ -753,10 +753,6 @@ module loading or during the runtime by using the 
> interface
>  
>  i.e. echo "value" > /sys/module/cifs/parameters/<param>
>  
> -1. echo_retries - The number of echo attempts before giving up and
> -               reconnecting to the server. The default is 5. The value 0
> -               means never reconnect.
> -
> -2. enable_oplocks - Enable or disable oplocks. Oplocks are enabled by 
> default.
> +1. enable_oplocks - Enable or disable oplocks. Oplocks are enabled by 
> default.
>                   [Y/y/1]. To disable use any of [N/n/0].
>  
> diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
> index 6ee1cb4..f266161 100644
> --- a/fs/cifs/cifsfs.c
> +++ b/fs/cifs/cifsfs.c
> @@ -77,11 +77,6 @@ unsigned int cifs_max_pending = CIFS_MAX_REQ;
>  module_param(cifs_max_pending, int, 0444);
>  MODULE_PARM_DESC(cifs_max_pending, "Simultaneous requests to server. "
>                                  "Default: 32767 Range: 2 to 32767.");
> -unsigned short echo_retries = 5;
> -module_param(echo_retries, ushort, 0644);
> -MODULE_PARM_DESC(echo_retries, "Number of echo attempts before giving up and 
> "
> -                            "reconnecting server. Default: 5. 0 means "
> -                            "never reconnect.");
>  module_param(enable_oplocks, bool, 0644);
>  MODULE_PARM_DESC(enable_oplocks, "Enable or disable oplocks (bool). Default:"
>                                "y/Y/1");
> diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h
> index 2309a67..339ebe3 100644
> --- a/fs/cifs/cifsglob.h
> +++ b/fs/cifs/cifsglob.h
> @@ -1038,9 +1038,6 @@ GLOBAL_EXTERN unsigned int cifs_min_rcv;    /* min size 
> of big ntwrk buf pool */
>  GLOBAL_EXTERN unsigned int cifs_min_small;  /* min size of small buf pool */
>  GLOBAL_EXTERN unsigned int cifs_max_pending; /* MAX requests at once to 
> server*/
>  
> -/* reconnect after this many failed echo attempts */
> -GLOBAL_EXTERN unsigned short echo_retries;
> -
>  #ifdef CONFIG_CIFS_ACL
>  GLOBAL_EXTERN struct rb_root uidtree;
>  GLOBAL_EXTERN struct rb_root gidtree;
> diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
> index f3a0c49..4156351 100644
> --- a/fs/cifs/connect.c
> +++ b/fs/cifs/connect.c
> @@ -373,12 +373,11 @@ allocate_buffers(struct TCP_Server_Info *server)
>  static bool
>  server_unresponsive(struct TCP_Server_Info *server)
>  {
> -     if (echo_retries > 0 && server->tcpStatus == CifsGood &&
> -         time_after(jiffies, server->lstrp +
> -                             (echo_retries * SMB_ECHO_INTERVAL))) {
> +     if (server->tcpStatus == CifsGood &&
> +         time_after(jiffies, server->lstrp + 2 * SMB_ECHO_INTERVAL)) {

Since you're replacing a variable with a hardcoded value like this, it's
probably a good idea to add a comment that explains why we're using 2 *
SMB_ECHO_INTERVAL here. Otherwise we'll forget in a year or two...

>               cERROR(1, "Server %s has not responded in %d seconds. "
>                         "Reconnecting...", server->hostname,
> -                       (echo_retries * SMB_ECHO_INTERVAL / HZ));
> +                       (2 * SMB_ECHO_INTERVAL) / HZ);
>               cifs_reconnect(server);
>               wake_up(&server->response_q);
>               return true;

If you're targeting part of this series for stable, then it seems like
this patch ought to be earlier in it (#2 or #3 or so). Looks fine to me
though other than the nit about the comment.

Reviewed-by: Jeff Layton <[email protected]>
--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to