aboutsummaryrefslogtreecommitdiffstats
path: root/fs/dlm
diff options
context:
space:
mode:
authorAlexander Aring <aahringo@redhat.com>2020-11-02 20:04:16 -0500
committerDavid Teigland <teigland@redhat.com>2020-11-10 12:14:20 -0600
commit5cbec208dc994de860ae72d3340bc54f14e71b39 (patch)
tree306c98e9829e1a2a35f4dacfe08c46b6c6c1f926 /fs/dlm
parentLinux 5.10-rc2 (diff)
downloadlinux-dev-5cbec208dc994de860ae72d3340bc54f14e71b39.tar.xz
linux-dev-5cbec208dc994de860ae72d3340bc54f14e71b39.zip
fs: dlm: fix proper srcu api call
This patch will use call_srcu() instead of call_rcu() because the related datastructure resource are handled under srcu context. I assume the current code is fine anyway since free_conn() must be called when the related resource are not in use otherwise. However it will correct the overall handling in a srcu context. 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/lowcomms.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c
index 79f56f16bc2c..77382c2ce6da 100644
--- a/fs/dlm/lowcomms.c
+++ b/fs/dlm/lowcomms.c
@@ -1616,10 +1616,11 @@ static void free_conn(struct connection *con)
spin_unlock(&connections_lock);
if (con->othercon) {
clean_one_writequeue(con->othercon);
- call_rcu(&con->othercon->rcu, connection_release);
+ call_srcu(&connections_srcu, &con->othercon->rcu,
+ connection_release);
}
clean_one_writequeue(con);
- call_rcu(&con->rcu, connection_release);
+ call_srcu(&connections_srcu, &con->rcu, connection_release);
}
static void work_flush(void)