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

Reply via email to