From: Jeff Layton <jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Suresh Jayaraman <sjayaraman-l3A5Bk7waGM@public.gmane.org>
Cc: smfrench-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH 15/18] cifs: reconnect unresponsive servers
Date: Thu, 23 Dec 2010 08:20:05 -0500 [thread overview]
Message-ID: <20101223082005.347b8ca8@barsoom.rdu.redhat.com> (raw)
In-Reply-To: <4D1324EC.8010305-l3A5Bk7waGM@public.gmane.org>
On Thu, 23 Dec 2010 16:01:08 +0530
Suresh Jayaraman <sjayaraman-l3A5Bk7waGM@public.gmane.org> wrote:
> On 12/17/2010 08:38 PM, Jeff Layton wrote:
> > If the server isn't responding to echoes, we don't want to leave tasks
> > hung waiting for it to reply. At that point, we'll want to reconnect
> > so that soft mounts can return an error to userspace quickly.
> >
> > If the client hasn't received a reply after 3 echo intervals, assume
> > that the transport is down and attempt to reconnect the socket.
> >
> > Signed-off-by: Jeff Layton <jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
> > ---
> > fs/cifs/connect.c | 23 +++++++++++++++++++----
> > 1 files changed, 19 insertions(+), 4 deletions(-)
> >
> > diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
> > index 20f6eda..2ad3c67 100644
> > --- a/fs/cifs/connect.c
> > +++ b/fs/cifs/connect.c
> > @@ -55,6 +55,9 @@
> > /* SMB echo "timeout" -- FIXME: tunable? */
> > #define SMB_ECHO_INTERVAL (60 * HZ)
> >
> > +/* reconnect if no response from server in this time period */
> > +#define UNRESPONSIVE_SERVER_TIMEOUT (5 * SMB_ECHO_INTERVAL)
> > +
>
> It's not clear to me why is this timeout is set to be
> 5 * SMB_ECHO_INTERVAL?
>
My bad... I should have updated the patch description. When testing
this I experimented with a range of 2 to 5 times.
There is no "correct" value for this. It really comes down to a
judgement call. Reducing that value means that you'll return an error
to the caller more quickly on a soft mount timeout occurs. The downside
is that you'll issue reconnects more frequently when there's a temporary
network partition.
I tend to think that we're better off running with a larger value for
this (around 5*). Reconnects are terribly expensive and lock
reclaimation in Linux cifs is non-existent. Avoiding reconnects as much
as possible is preferable so making this as high as we can get away
with is a good thing.
That said, I'm open to suggestions on this. I think we shouldn't go
below 3*, and above 5* is probably too much. We could eventually make
it tunable, but we still need a default. I don't think it should be a
mount option since it's a per-socket setting (mounts with different
timeouts wouldn't be able to share sockets), so maybe a module option
would be best.
Thoughts?
--
Jeff Layton <jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
next prev parent reply other threads:[~2010-12-23 13:20 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-17 15:07 [PATCH 00/18] cifs: overhaul request timeout behavior in CIFS (try #3) Jeff Layton
[not found] ` <1292598497-29796-1-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-12-17 15:08 ` [PATCH 01/18] cifs: don't fail writepages on -EAGAIN errors Jeff Layton
[not found] ` <1292598497-29796-2-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-12-20 10:53 ` Suresh Jayaraman
2010-12-17 15:08 ` [PATCH 02/18] cifs: no need to mark smb_ses_list as cifs_demultiplex_thread is exiting Jeff Layton
[not found] ` <1292598497-29796-3-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-12-20 10:52 ` Suresh Jayaraman
2010-12-20 16:38 ` Suresh Jayaraman
[not found] ` <4D0F868E.8020407-l3A5Bk7waGM@public.gmane.org>
2010-12-21 1:38 ` Jeff Layton
2010-12-17 15:08 ` [PATCH 03/18] cifs: make wait_for_free_request take a TCP_Server_Info pointer Jeff Layton
[not found] ` <1292598497-29796-4-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-12-20 10:52 ` Suresh Jayaraman
2010-12-17 15:08 ` [PATCH 04/18] cifs: clean up accesses to midCount Jeff Layton
[not found] ` <1292598497-29796-5-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-12-20 10:52 ` Suresh Jayaraman
2010-12-17 15:08 ` [PATCH 05/18] cifs: move locked sections out of DeleteMidQEntry and AllocMidQEntry Jeff Layton
[not found] ` <1292598497-29796-6-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-12-20 11:00 ` Suresh Jayaraman
2010-12-17 15:08 ` [PATCH 06/18] cifs: move mid result processing into common function Jeff Layton
[not found] ` <1292598497-29796-7-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-12-20 11:06 ` Suresh Jayaraman
2010-12-17 15:08 ` [PATCH 07/18] cifs: wait indefinitely for responses Jeff Layton
[not found] ` <1292598497-29796-8-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-12-21 15:50 ` Suresh Jayaraman
2010-12-17 15:08 ` [PATCH 08/18] cifs: don't reconnect server when we don't get a response Jeff Layton
[not found] ` <1292598497-29796-9-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-12-20 11:27 ` Suresh Jayaraman
2010-12-17 15:08 ` [PATCH 09/18] cifs: clean up sync_mid_result Jeff Layton
[not found] ` <1292598497-29796-10-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-12-20 11:27 ` Suresh Jayaraman
[not found] ` <4D0F3DAD.7080801-l3A5Bk7waGM@public.gmane.org>
2010-12-20 13:04 ` Jeff Layton
[not found] ` <20101220080409.35112ed8-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>
2010-12-20 16:35 ` Suresh Jayaraman
2010-12-17 15:08 ` [PATCH 10/18] cifs: allow for different handling of received response Jeff Layton
[not found] ` <1292598497-29796-11-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-12-21 15:50 ` Suresh Jayaraman
[not found] ` <4D10CCD3.1040502-l3A5Bk7waGM@public.gmane.org>
2010-12-21 16:48 ` Jeff Layton
2010-12-21 15:51 ` Suresh Jayaraman
2010-12-17 15:08 ` [PATCH 11/18] cifs: handle cancelled requests better Jeff Layton
2010-12-17 15:08 ` [PATCH 12/18] cifs: add cifs_call_async Jeff Layton
[not found] ` <1292598497-29796-13-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-12-21 16:05 ` Suresh Jayaraman
2010-12-17 15:08 ` [PATCH 13/18] cifs: add ability to send an echo request Jeff Layton
[not found] ` <1292598497-29796-14-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-12-21 16:05 ` Suresh Jayaraman
2010-12-17 15:08 ` [PATCH 14/18] cifs: set up recurring workqueue job to do SMB echo requests Jeff Layton
[not found] ` <1292598497-29796-15-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-12-21 16:06 ` Suresh Jayaraman
2010-12-17 15:08 ` [PATCH 15/18] cifs: reconnect unresponsive servers Jeff Layton
[not found] ` <1292598497-29796-16-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-12-23 10:31 ` Suresh Jayaraman
[not found] ` <4D1324EC.8010305-l3A5Bk7waGM@public.gmane.org>
2010-12-23 13:20 ` Jeff Layton [this message]
[not found] ` <20101223082005.347b8ca8-xSBYVWDuneFaJnirhKH9O4GKTjYczspe@public.gmane.org>
2010-12-23 15:36 ` Suresh Jayaraman
2010-12-17 15:08 ` [PATCH 16/18] cifs: remove code for setting timeouts on requests Jeff Layton
[not found] ` <1292598497-29796-17-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-12-23 10:32 ` Suresh Jayaraman
2010-12-17 15:08 ` [PATCH 17/18] cifs: mangle existing header for SMB_COM_NT_CANCEL Jeff Layton
[not found] ` <1292598497-29796-18-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-12-23 11:05 ` Suresh Jayaraman
2010-12-17 15:08 ` [PATCH 18/18] cifs: send an NT_CANCEL request when a process is signalled Jeff Layton
[not found] ` <1292598497-29796-19-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-12-23 11:06 ` Suresh Jayaraman
-- strict thread matches above, loose matches on Subject: below --
2010-12-27 2:29 [PATCH 00/18] cifs: overhaul request timeout behavior in CIFS (try #4) Jeff Layton
[not found] ` <1293417006-6417-1-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-12-27 2:30 ` [PATCH 15/18] cifs: reconnect unresponsive servers Jeff Layton
[not found] ` <1293417006-6417-16-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-12-27 15:58 ` Pavel Shilovsky
2011-01-06 7:16 ` Suresh Jayaraman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101223082005.347b8ca8@barsoom.rdu.redhat.com \
--to=jlayton-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
--cc=linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=sjayaraman-l3A5Bk7waGM@public.gmane.org \
--cc=smfrench-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.