cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
* [Cluster-devel] [PATCHv2 dlm/next 00/17] fs: dlm: introduce dlm re-transmission layer
@ 2020-12-01 15:09 Alexander Aring
  2020-12-01 15:09 ` [Cluster-devel] [PATCHv2 dlm/next 01/17] fs: dlm: set connected bit after accept Alexander Aring
                   ` (16 more replies)
  0 siblings, 17 replies; 18+ messages in thread
From: Alexander Aring @ 2020-12-01 15:09 UTC (permalink / raw)
  To: cluster-devel.redhat.com

Hi,

this is the final patch-series to make dlm reliable when re-connection
occurs. You can easily generate a couple of re-connections by running:

tcpkill -9 -i $IFACE port 21064

on your own to test these patches. At some time dlm will detect message
drops and will re-transmit messages if necessary. It introduces a new dlm
protocol behaviour and increases the dlm protocol version. I tested it
with SCTP as well and tried to be backwards compatible with dlm protocol
version 3.1. However I don't recommend at all to not mix these versions
in a setup since dlm version 3.2 fixes long-term issues.

- Alex

changes since v2:
 - add patch "fs: dlm: set connected bit after accept"
 - add patch "fs: dlm: set subclass for othercon sock_mutex"
 - change title "fs: dlm: public utils header utils" to
   "fs: dlm: public header in out utility"
 - squash "fs: dlm: add check for minimum allocation length" into
   "fs: dlm: remove unaligned memory access handling"
 - make the midcomms timeout a little bit longer, because I saw
   sometimes it's not enough (I hope that was the reason)
 - midcomms: fix version mismatch handling
 - remove DLM_ACK in invalid sequence handling
 - add additional length check in dlm_opts_check_msglen()
 - use optlen to skip DLM_OPTS header
 - add DLM_MSGLEN_IS_NOT_ALIGNED to check if msglen is proper
   aligned before parsing
 - change dlm_midcomms_close() to close first then cut queues,
   because lowcomms close will may flush some messages which
   need to be dropped afterwards if seq doesn't fit.
 - remove newline in "fs: dlm: add more midcomms hooks"
 - may more changes which I don't have on track.
 - change defines handling for calculating max application buffer
   size vs max allocation size
 - run aspell on my commit msgs

Alexander Aring (17):
  fs: dlm: set connected bit after accept
  fs: dlm: set subclass for othercon sock_mutex
  fs: dlm: add errno handling to check callback
  fs: dlm: add check if dlm is currently running
  fs: dlm: change allocation limits
  fs: dlm: public header in out utility
  fs: dlm: use GFP_ZERO for page buffer
  fs: dlm: simplify writequeue handling
  fs: dlm: add more midcomms hooks
  fs: dlm: make buffer handling per msg
  fs: dlm: make new buffer handling softirq ready
  fs: dlm: add functionality to re-transmit a message
  fs: dlm: move out some hash functionality
  fs: dlm: remove unaligned memory access handling
  fs: dlm: add union in dlm header for lockspace id
  fs: dlm: add reliable connection if reconnect
  fs: dlm: don't allow half transmitted messages

 fs/dlm/config.c       |   60 ++-
 fs/dlm/dlm_internal.h |   32 +-
 fs/dlm/lock.c         |   16 +-
 fs/dlm/lockspace.c    |    5 +-
 fs/dlm/lowcomms.c     |  279 ++++++++---
 fs/dlm/lowcomms.h     |   26 +-
 fs/dlm/member.c       |   16 +
 fs/dlm/member.h       |    1 +
 fs/dlm/midcomms.c     | 1098 +++++++++++++++++++++++++++++++++++++++--
 fs/dlm/midcomms.h     |   10 +
 fs/dlm/rcom.c         |   61 ++-
 fs/dlm/recoverd.c     |    3 +
 fs/dlm/util.c         |   10 +-
 fs/dlm/util.h         |    2 +
 14 files changed, 1445 insertions(+), 174 deletions(-)

-- 
2.26.2



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

end of thread, other threads:[~2020-12-01 15:09 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-01 15:09 [Cluster-devel] [PATCHv2 dlm/next 00/17] fs: dlm: introduce dlm re-transmission layer Alexander Aring
2020-12-01 15:09 ` [Cluster-devel] [PATCHv2 dlm/next 01/17] fs: dlm: set connected bit after accept Alexander Aring
2020-12-01 15:09 ` [Cluster-devel] [PATCHv2 dlm/next 02/17] fs: dlm: set subclass for othercon sock_mutex Alexander Aring
2020-12-01 15:09 ` [Cluster-devel] [PATCHv2 dlm/next 03/17] fs: dlm: add errno handling to check callback Alexander Aring
2020-12-01 15:09 ` [Cluster-devel] [PATCHv2 dlm/next 04/17] fs: dlm: add check if dlm is currently running Alexander Aring
2020-12-01 15:09 ` [Cluster-devel] [PATCHv2 dlm/next 05/17] fs: dlm: change allocation limits Alexander Aring
2020-12-01 15:09 ` [Cluster-devel] [PATCHv2 dlm/next 06/17] fs: dlm: public header in out utility Alexander Aring
2020-12-01 15:09 ` [Cluster-devel] [PATCHv2 dlm/next 07/17] fs: dlm: use GFP_ZERO for page buffer Alexander Aring
2020-12-01 15:09 ` [Cluster-devel] [PATCHv2 dlm/next 08/17] fs: dlm: simplify writequeue handling Alexander Aring
2020-12-01 15:09 ` [Cluster-devel] [PATCHv2 dlm/next 09/17] fs: dlm: add more midcomms hooks Alexander Aring
2020-12-01 15:09 ` [Cluster-devel] [PATCHv2 dlm/next 10/17] fs: dlm: make buffer handling per msg Alexander Aring
2020-12-01 15:09 ` [Cluster-devel] [PATCHv2 dlm/next 11/17] fs: dlm: make new buffer handling softirq ready Alexander Aring
2020-12-01 15:09 ` [Cluster-devel] [PATCHv2 dlm/next 12/17] fs: dlm: add functionality to re-transmit a message Alexander Aring
2020-12-01 15:09 ` [Cluster-devel] [PATCHv2 dlm/next 13/17] fs: dlm: move out some hash functionality Alexander Aring
2020-12-01 15:09 ` [Cluster-devel] [PATCHv2 dlm/next 14/17] fs: dlm: remove unaligned memory access handling Alexander Aring
2020-12-01 15:09 ` [Cluster-devel] [PATCHv2 dlm/next 15/17] fs: dlm: add union in dlm header for lockspace id Alexander Aring
2020-12-01 15:09 ` [Cluster-devel] [PATCHv2 dlm/next 16/17] fs: dlm: add reliable connection if reconnect Alexander Aring
2020-12-01 15:09 ` [Cluster-devel] [PATCHv2 dlm/next 17/17] fs: dlm: don't allow half transmitted messages 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).