[Cluster-devel] [PATCH dlm/next 0/9] fs: dlm: fixes and change listen socket handling
Alexander Aring
aahringo at redhat.com
Mon Oct 19 18:59:07 UTC 2020
Hi,
This series fix a issue by using the wrong RCU API for sleepable rcu.
The second patch is something what I discovered by placing a new header
in front of the dlm header. This header encapsulates a dlm message.
The patch will fix issues with the ci_buffer_size and I am not sure for
what the ci_buffer_size setting is exactly used before, there was no
range protection or something else and it is used for transmit and
receive side. As I saw that the previous receive handling was using it
as the receive buffer size for "bigger" dlm messages, I changed it mostly
the same way and allowed even reading more bytes in a recvmsg(). The user
need somehow know before the actual biggest possible dlm message (which is
PAGE_SIZE, because the buffer allocator of lowcomms). The upper layer
protocol should never request a buffer which can be above PAGE_SIZE length,
otherwise we run in a bufferoverlow. With the recent changes of
"ci_buffer_size" it's allowed to be above PAGE_SIZE, the patch should be
sure we use the maximum possible payload to a dlm recovery message and
don't let this configurable.
The rest of this patch-series makes the listen socket handling better
regarding to accept socket. There exists some code path which the listen
socket should never run, but possible when we handle the listen socket as
normal connection inside the connection hash. This patch series contains
patches to prepare and finally handle the listen connection in their own
separate structure. It also do some small cleanup to avoid double close
on the listen socket and be sure we set the sock pointer to NULL if
closed, some parts of the code seems to have this required.
- Alex
Alexander Aring (9):
fs: dlm: fix proper srcu api call
fs: dlm: define max send buffer
fs: dlm: add get buffer error handling
fs: dlm: flush othercon at close
fs: dlm: handle non blocked connect event
fs: dlm: move connect callback in node creation
fs: dlm: move shutdown action to node creation
fs: dlm: refactor sctp sock parameter
fs: dlm: listen socket out of connection hash
fs/dlm/lockspace.c | 2 +-
fs/dlm/lowcomms.c | 225 +++++++++++++++++++++++----------------------
fs/dlm/lowcomms.h | 4 +
fs/dlm/member.c | 2 +-
fs/dlm/rcom.c | 6 +-
5 files changed, 122 insertions(+), 117 deletions(-)
--
2.26.2
More information about the Cluster-devel
mailing list