[Cluster-devel] [PATCHv2 dlm-next 00/13] fs: dlm: miscs and msgs processing changes
Alexander Aring
aahringo at redhat.com
Tue Aug 1 18:09:37 UTC 2023
Hi,
this patch fixes some missing spin_unlock() that was missing in commit
dc52cd2eff4a ("fs: dlm: fix F_CANCELLK to cancel pending request").
Otherwise this patch series contains:
- introduce a new debugfs entry to dump all pending callbacks in the per
lkb callbacks queue.
- add plock char dev kernel tracepoints for debugging
- change things in parsing/processing dlm messages like only once
dereferencing the sequence number of dlm recovery and avoid an additional
spinlock later
- constify the dlm receive buffer, it should never be manipulated when
parsing it.
- small change in version detection to not use RCOM_NAMES messages
- change to create midcomms node when configfs gets the cluster
configuration
I try to prepare to switch the message processing from workqueue
context to softirq context. The patch "fs: dlm: create midcomms nodes
when configure" will remove creating midcomms nodes that create debugfs
entries from the message parsing context. The context for creating debugfs
entries is sleepable. The lifetime of a midcomms node is now similar like
lowcomms connection struct. Later we hopefully can merge the two hash
datastructures midcomms nodes and lowcomms connections into one.
- Alex
changes since v2:
- add a cover-letter
- fix a deadlock case in "fs: dlm: create midcomms nodes when configure"
Alexander Aring (13):
fs: dlm: add missing spin_unlock
fs: dlm: remove unused processed_nodes
fs: dlm: debugfs for queued callbacks
fs: dlm: check on plock ops when exit dlm
fs: dlm: add plock dev tracepoints
fs: dlm: remove clear_members_cb
fs: dlm: cleanup lock order
fs: dlm: get recovery sequence number as parameter
fs: dlm: drop rxbuf manipulation in dlm_copy_master_names
fs: dlm: drop rxbuf manipulation in dlm_recover_master_copy
fs: dlm: constify receive buffer
fs: dlm: create midcomms nodes when configure
fs: dlm: don't use RCOM_NAMES for version detection
fs/dlm/config.c | 2 +-
fs/dlm/debug_fs.c | 101 +++++++++++-
fs/dlm/dir.c | 14 +-
fs/dlm/dir.h | 6 +-
fs/dlm/dlm_internal.h | 1 +
fs/dlm/lock.c | 120 ++++++++-------
fs/dlm/lock.h | 16 +-
fs/dlm/lowcomms.c | 1 -
fs/dlm/member.c | 15 +-
fs/dlm/member.h | 2 +-
fs/dlm/midcomms.c | 304 ++++++++++++++-----------------------
fs/dlm/midcomms.h | 1 +
fs/dlm/plock.c | 9 ++
fs/dlm/rcom.c | 102 +++++++------
fs/dlm/rcom.h | 15 +-
fs/dlm/recover.c | 60 ++++----
fs/dlm/recover.h | 14 +-
fs/dlm/recoverd.c | 16 +-
fs/dlm/requestqueue.c | 3 +-
fs/dlm/requestqueue.h | 3 +-
include/trace/events/dlm.h | 51 +++++++
21 files changed, 489 insertions(+), 367 deletions(-)
--
2.31.1
More information about the Cluster-devel
mailing list