diff options
author | Alexander Aring <aahringo@redhat.com> | 2023-10-11 00:04:46 +0200 |
---|---|---|
committer | David Teigland <teigland@redhat.com> | 2023-10-12 22:20:48 +0200 |
commit | e759eb3e27e5b624930548f1c0eda90da6e26ee9 (patch) | |
tree | 448beb092a4e9c6cb02ab43c28118dc4f5171078 /fs/dlm | |
parent | dlm: fix remove member after close call (diff) | |
download | linux-e759eb3e27e5b624930548f1c0eda90da6e26ee9.tar.xz linux-e759eb3e27e5b624930548f1c0eda90da6e26ee9.zip |
dlm: be sure we reset all nodes at forced shutdown
In case we running in a force shutdown in either midcomms or lowcomms
implementation we will make sure we reset all per midcomms node
information.
Fixes: 63e711b08160 ("fs: dlm: create midcomms nodes when configure")
Signed-off-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
Diffstat (limited to 'fs/dlm')
-rw-r--r-- | fs/dlm/midcomms.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/fs/dlm/midcomms.c b/fs/dlm/midcomms.c index 4ad71e97cec2..6bc8d7f89b2c 100644 --- a/fs/dlm/midcomms.c +++ b/fs/dlm/midcomms.c @@ -1405,10 +1405,16 @@ void dlm_midcomms_shutdown(void) midcomms_shutdown(node); } } - srcu_read_unlock(&nodes_srcu, idx); - mutex_unlock(&close_lock); dlm_lowcomms_shutdown(); + + for (i = 0; i < CONN_HASH_SIZE; i++) { + hlist_for_each_entry_rcu(node, &node_hash[i], hlist) { + midcomms_node_reset(node); + } + } + srcu_read_unlock(&nodes_srcu, idx); + mutex_unlock(&close_lock); } int dlm_midcomms_close(int nodeid) |