All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/18] cifs: overhaul request timeout behavior in CIFS (try #3)
@ 2010-12-17 15:07 Jeff Layton
       [not found] ` <1292598497-29796-1-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  0 siblings, 1 reply; 47+ messages in thread
From: Jeff Layton @ 2010-12-17 15:07 UTC (permalink / raw)
  To: smfrench-Re5JQEeQqe8AvxtiuMwx3w; +Cc: linux-cifs-u79uwXL29TY76Z2rM5mHXA

This is the third patchset to clean up request timeout behavior in cifs.
There are some siginficant and subtle changes since the last set, so
I've left off any "Reviewed-by" tags on the previous patches. Here's
an overview of what has changed:

- small bugfix in the writepages patch to make it return 0 when there
  we're redirtying the pages for the write

- addition of a cleanup patch for dead code in cifs_demultiplex_thread

- DeleteMidQEntry and AllocMidQEntry no longer take the GlobalMid_Lock.
  This allows them to be called with that lock held.

- clarification of the locking and state of the mid when the
  mid->callback function is called. It's now assumed to be called with
  the GlobalMid_Lock held and with it no longer on the pending_mid_q.
  Comments were added to clarify this.

- canceled mids are handled by setting the callback function instead
  of setting the state and handling them in a special way

- send_nt_cancel creates the cancel request in a different way so that
  it doesn't need to be called with the tcon

- NT_CANCEL requests are sent when a process waiting on a synchronous
  response catches a fatal signal.

The main impetus of this patchset is to change the way CIFS handles SMB
requests that are taking a long time. I won't rewrite all of that
information, but the description is available here:

    http://marc.info/?l=linux-cifs&m=129199588315592&w=2

Another discussion thread surrounding this change is also available
here:

    http://marc.info/?l=linux-cifs&m=129142970724511&w=2

I think there is some further work needed in this area, but this is a
good stopping point for 2.6.38 and it seems to fix the most glaring
problems. I'd like to see this merged during the next merge window if
possible.

Comments and suggestions welcome...

Jeff Layton (18):
  cifs: don't fail writepages on -EAGAIN errors
  cifs: no need to mark smb_ses_list as cifs_demultiplex_thread is
    exiting
  cifs: make wait_for_free_request take a TCP_Server_Info pointer
  cifs: clean up accesses to midCount
  cifs: move locked sections out of DeleteMidQEntry and AllocMidQEntry
  cifs: move mid result processing into common function
  cifs: wait indefinitely for responses
  cifs: don't reconnect server when we don't get a response
  cifs: clean up sync_mid_result
  cifs: allow for different handling of received response
  cifs: handle cancelled requests better
  cifs: add cifs_call_async
  cifs: add ability to send an echo request
  cifs: set up recurring workqueue job to do SMB echo requests
  cifs: reconnect unresponsive servers
  cifs: remove code for setting timeouts on requests
  cifs: mangle existing header for SMB_COM_NT_CANCEL
  cifs: send an NT_CANCEL request when a process is signalled

 fs/cifs/cifs_debug.c |   10 +-
 fs/cifs/cifsglob.h   |   25 ++-
 fs/cifs/cifspdu.h    |   15 ++
 fs/cifs/cifsproto.h  |    7 +
 fs/cifs/cifssmb.c    |   55 ++++++-
 fs/cifs/connect.c    |  150 +++++++++--------
 fs/cifs/file.c       |   93 +++++------
 fs/cifs/sess.c       |    2 +-
 fs/cifs/transport.c  |  463 ++++++++++++++++++++++++++------------------------
 9 files changed, 459 insertions(+), 361 deletions(-)

-- 
1.7.3.3

^ permalink raw reply	[flat|nested] 47+ messages in thread
* [PATCH 00/18] cifs: overhaul request timeout behavior in CIFS (try #4)
@ 2010-12-27  2:29 Jeff Layton
       [not found] ` <1293417006-6417-1-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  0 siblings, 1 reply; 47+ messages in thread
From: Jeff Layton @ 2010-12-27  2:29 UTC (permalink / raw)
  To: smfrench-Re5JQEeQqe8AvxtiuMwx3w; +Cc: linux-cifs-u79uwXL29TY76Z2rM5mHXA

This is the fourth patchset to clean up request timeout behavior in
cifs.  There are only minor changes since the last set. Some of the
patches still need review. Here's an overview of what has changed:

- minor comment fix in patch 10

- the server echo "timeout" is now tunable via module parameter. It's
  also possible to set the timeout to 0, to stop the client from
  performing a reconnect at all.

The main impetus of this patchset is to change the way CIFS handles SMB
requests that are taking a long time. I won't rewrite all of that
information, but the description is available here:

    http://marc.info/?l=linux-cifs&m=129199588315592&w=2

Another discussion thread surrounding this change is also available
here:

    http://marc.info/?l=linux-cifs&m=129142970724511&w=2

I think there is some further work needed in this area, but this is a
good stopping point for 2.6.38 and it seems to fix the most glaring
problems. I'd like to see this merged during the next merge window if
possible.

Comments and suggestions welcome...

Jeff Layton (18):
  cifs: don't fail writepages on -EAGAIN errors
  cifs: no need to mark smb_ses_list as cifs_demultiplex_thread is
    exiting
  cifs: make wait_for_free_request take a TCP_Server_Info pointer
  cifs: clean up accesses to midCount
  cifs: move locked sections out of DeleteMidQEntry and AllocMidQEntry
  cifs: move mid result processing into common function
  cifs: wait indefinitely for responses
  cifs: don't reconnect server when we don't get a response
  cifs: clean up sync_mid_result
  cifs: allow for different handling of received response
  cifs: handle cancelled requests better
  cifs: add cifs_call_async
  cifs: add ability to send an echo request
  cifs: set up recurring workqueue job to do SMB echo requests
  cifs: reconnect unresponsive servers
  cifs: remove code for setting timeouts on requests
  cifs: mangle existing header for SMB_COM_NT_CANCEL
  cifs: send an NT_CANCEL request when a process is signalled

 fs/cifs/cifs_debug.c |   10 +-
 fs/cifs/cifsglob.h   |   25 ++-
 fs/cifs/cifspdu.h    |   15 ++
 fs/cifs/cifsproto.h  |    7 +
 fs/cifs/cifssmb.c    |   55 ++++++-
 fs/cifs/connect.c    |  150 +++++++++--------
 fs/cifs/file.c       |   93 +++++------
 fs/cifs/sess.c       |    2 +-
 fs/cifs/transport.c  |  463 ++++++++++++++++++++++++++------------------------
 9 files changed, 459 insertions(+), 361 deletions(-)

-- 
1.7.3.3

^ permalink raw reply	[flat|nested] 47+ messages in thread

end of thread, other threads:[~2011-01-06  6:57 UTC | newest]

Thread overview: 47+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
     [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:29   ` [PATCH 09/18] cifs: clean up sync_mid_result Jeff Layton
     [not found]     ` <1293417006-6417-10-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-12-27 15:53       ` Pavel Shilovsky
2011-01-06  6:57       ` Suresh Jayaraman

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.