cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
* [Cluster-devel] [PATCH dlm/next 0/9] fs: dlm: fixes and change listen socket handling
@ 2020-10-19 18:59 Alexander Aring
  2020-10-19 18:59 ` [Cluster-devel] [PATCH dlm/next 1/9] fs: dlm: fix proper srcu api call Alexander Aring
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: Alexander Aring @ 2020-10-19 18:59 UTC (permalink / raw)
  To: cluster-devel.redhat.com

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



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

end of thread, other threads:[~2020-10-19 18:59 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-10-19 18:59 [Cluster-devel] [PATCH dlm/next 0/9] fs: dlm: fixes and change listen socket handling Alexander Aring
2020-10-19 18:59 ` [Cluster-devel] [PATCH dlm/next 1/9] fs: dlm: fix proper srcu api call Alexander Aring
2020-10-19 18:59 ` [Cluster-devel] [PATCH dlm/next 2/9] fs: dlm: define max send buffer Alexander Aring
2020-10-19 18:59 ` [Cluster-devel] [PATCH dlm/next 3/9] fs: dlm: add get buffer error handling Alexander Aring
2020-10-19 18:59 ` [Cluster-devel] [PATCH dlm/next 4/9] fs: dlm: flush othercon at close Alexander Aring
2020-10-19 18:59 ` [Cluster-devel] [PATCH dlm/next 5/9] fs: dlm: handle non blocked connect event Alexander Aring
2020-10-19 18:59 ` [Cluster-devel] [PATCH dlm/next 6/9] fs: dlm: move connect callback in node creation Alexander Aring
2020-10-19 18:59 ` [Cluster-devel] [PATCH dlm/next 7/9] fs: dlm: move shutdown action to " Alexander Aring
2020-10-19 18:59 ` [Cluster-devel] [PATCH dlm/next 8/9] fs: dlm: refactor sctp sock parameter Alexander Aring
2020-10-19 18:59 ` [Cluster-devel] [PATCH dlm/next 9/9] fs: dlm: listen socket out of connection hash Alexander Aring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).