Hi, I previously send some patches which should queued up for stable. This patches tries to make the behaviour better for the midcomms layer in a very specific corner case of invoking stop/start of midcomms/lowcomms in a looping behaviour.
I am using dlm_locktorture module which isn't upstream but can be found at [0]. Have it as a module, I am doing a: while true;do modprobe dlm_locktorture cluster=gohan;rmmod dlm_locktorture;done on all cluster nodes will invoke the testcase which tests a specific corner case to call midcomms/lowcomms start and stop again on all cluster nodes. Between we might have some locking requests happening. Those patches makes this specific corner case better to handle, it's still not perfect and in futurue we should look again into this specific behaviour of adding/removing lockspaces in a looping behaviour. However it is a very corner testcase which probably does not occur a lot in practice. We might also need to try to simplify the whole process and have a better behaviour for dlm version detection as it's currently is. - Alex [0] https://gitlab.com/netcoder/linux-public/-/commit/cb67a3c99f0eb1e5860a9e27015e6dbd00bbcc34 Alexander Aring (8): fs: dlm: bring back previously shutdown handling fs: dlm: change to ignore unexpected non dlm opts msgs fs: dlm: wait until all midcomms nodes detects version fs: dlm: make dlm sequence id handling more robust fs: dlm: reduce the timeout time to 5 secs fs: dlm: remove newline in log_print fs: dlm: move state change into else branch fs: dlm: remove unnecessary waker_up() calls fs/dlm/lockspace.c | 5 ++- fs/dlm/lowcomms.c | 77 +++++++++++++++++++++++++++++++++------------- fs/dlm/midcomms.c | 74 ++++++++++++++++++++++++-------------------- fs/dlm/midcomms.h | 1 + 4 files changed, 102 insertions(+), 55 deletions(-) -- 2.31.1