From: Pavel Shilovsky <piastryyy@gmail.com>
To: linux-cifs@vger.kernel.org, smfrench@gmail.com
Subject: [PATCH 0/3] more reconnect fixes
Date: Tue, 5 Mar 2019 15:51:53 -0800 [thread overview]
Message-ID: <1551829917-48772-1-git-send-email-pshilov@microsoft.com> (raw)
The patchset has 3 patches that fix some problems related to network reconnects.
The first patch fixes out-of-order requests sent over newly established TCP connections, in particular it prevents sending anything rather than SMB2_NEGOTIATE.
The second patch changes the return code from -ENOTSOCK to -EAGAIN for TCP connections that are in the middle of reconnect.
The third patch is a new version of the patch posted previously. Since we are doing socket sends in the same thread with a syscall we might experience interrupts due to signals. If such signals come while we are in the middle of sending SMB packet to the server, we may end up with partial sends and unnecessary network reconnects thus overloading the server. The patch masks off signals during the whole packet send thus avoiding interrupts and reconnects.
Pavel Shilovsky (3):
CIFS: Only send SMB2_NEGOTIATE command on new TCP connections
CIFS: Return -EAGAIN instead of -ENOTSOCK
CIFS: Mask off signals when sending SMB packets
fs/cifs/smb2transport.c | 8 ++++++++
fs/cifs/transport.c | 44 ++++++++++++++++++++++++++++++++++++++++----
2 files changed, 48 insertions(+), 4 deletions(-)
--
2.7.4
next reply other threads:[~2019-03-05 23:52 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-05 23:51 Pavel Shilovsky [this message]
2019-03-05 23:51 ` [PATCH] CIFS: Fix read after write for files with read caching Pavel Shilovsky
2019-03-05 23:51 ` [PATCH 1/3] CIFS: Only send SMB2_NEGOTIATE command on new TCP connections Pavel Shilovsky
2019-03-05 23:51 ` [PATCH 2/3] CIFS: Return -EAGAIN instead of -ENOTSOCK Pavel Shilovsky
2019-03-05 23:51 ` [PATCH 3/3] CIFS: Mask off signals when sending SMB packets Pavel Shilovsky
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=1551829917-48772-1-git-send-email-pshilov@microsoft.com \
--to=piastryyy@gmail.com \
--cc=linux-cifs@vger.kernel.org \
--cc=smfrench@gmail.com \
/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.