Hi, the first three patches are resend with an updated commit message and additional comment e.g. to explain the rcu_read_lock() handling to avoid a lookup twice. The main part are the rest of the patches introducing the DLM_LSFL_SOFTIRQ_SAFE flag to signal that ast/bast callbacks can be handled in softirq context. md-cluster is the first user here to take advantage about this flag as their callback handling is simple enough and looks okay to be called from softirq context. To be honest, I also just need a upstream user for the new flag. Other users, e.g. gfs2 can take also advantage of it. I also gave it a try with a debug kernel and used md-cluster with 2 block devices and level mirrored. I used gfs2 on top of it and it seems to run without any problems. This patch series is based on: https://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm.git/log/?h=next in case of md-cluster people want to try it out. Thanks. - Alex Alexander Aring (8): dlm: using rcu to avoid rsb lookup again dlm: remove struct field with the same meaning dlm: use is_master() on checks if we are the master dlm: use LSFL_FS to check if it's a kernel lockspace dlm: introduce DLM_LSFL_SOFTIRQ_SAFE dlm: implement LSFL_SOFTIRQ_SAFE dlm: convert ls_cb_lock to rwlock md-cluster: use DLM_LSFL_SOFTIRQ for dlm_new_lockspace() drivers/md/md-cluster.c | 2 +- fs/dlm/ast.c | 185 ++++++++++++++++++--------- fs/dlm/ast.h | 11 +- fs/dlm/debug_fs.c | 33 ++--- fs/dlm/dlm_internal.h | 40 +++++- fs/dlm/lock.c | 268 +++++++++++++++++++++++---------------- fs/dlm/lock.h | 5 +- fs/dlm/lockspace.c | 23 ++-- fs/dlm/memory.c | 15 ++- fs/dlm/rcom.c | 4 +- fs/dlm/recover.c | 20 +-- fs/dlm/recoverd.c | 2 +- fs/dlm/user.c | 38 +++--- include/linux/dlm.h | 17 ++- include/uapi/linux/dlm.h | 2 + 15 files changed, 413 insertions(+), 252 deletions(-) -- 2.43.0