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