diff options
author | Alexander Aring <aahringo@redhat.com> | 2024-04-02 21:18:07 +0200 |
---|---|---|
committer | David Teigland <teigland@redhat.com> | 2024-04-09 18:44:49 +0200 |
commit | d52c9b8fefa3ed4f1893eea8c5f38748a83356fc (patch) | |
tree | 0e27a57edffd8c6549a4992e38ddb66a3031a197 /fs/dlm/member.c | |
parent | dlm: avoid blocking receive at the end of recovery (diff) | |
download | linux-d52c9b8fefa3ed4f1893eea8c5f38748a83356fc.tar.xz linux-d52c9b8fefa3ed4f1893eea8c5f38748a83356fc.zip |
dlm: convert ls_recv_active from rw_semaphore to rwlock
Convert ls_recv_active rw_semaphore to an rwlock to avoid
sleeping, in preparation for softirq message processing.
Signed-off-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
Diffstat (limited to 'fs/dlm/member.c')
-rw-r--r-- | fs/dlm/member.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/dlm/member.c b/fs/dlm/member.c index 707cebcdc533..ac1b555af9d6 100644 --- a/fs/dlm/member.c +++ b/fs/dlm/member.c @@ -630,7 +630,7 @@ int dlm_ls_stop(struct dlm_ls *ls) * message to the requestqueue without races. */ - down_write(&ls->ls_recv_active); + write_lock(&ls->ls_recv_active); /* * Abort any recovery that's in progress (see RECOVER_STOP, @@ -654,7 +654,7 @@ int dlm_ls_stop(struct dlm_ls *ls) * requestqueue for later. */ - up_write(&ls->ls_recv_active); + write_unlock(&ls->ls_recv_active); /* * This in_recovery lock does two things: |