]> git.baikalelectronics.ru Git - kernel.git/commit
fs: dlm: make new_lockspace() wait until recovery completes
authorAlexander Aring <aahringo@redhat.com>
Wed, 22 Jun 2022 18:45:15 +0000 (14:45 -0400)
committerDavid Teigland <teigland@redhat.com>
Fri, 24 Jun 2022 16:57:47 +0000 (11:57 -0500)
commitf29cd7a08e4f78c998fbca013bfc81b3491bc5fa
tree76288f5934ba0b7a5f07a2b1664497efb76ed484
parentfe71d4cde8775aaf8de5af6a2db7f4e7d62dd200
fs: dlm: make new_lockspace() wait until recovery completes

Make dlm_new_lockspace() wait until a full recovery completes
sucessfully or fails. Previously, dlm_new_lockspace() returned
to the caller after dlm_recover_members() finished, which is
only partially through recovery.  The result of the previous
behavior is that the new lockspace would not be usable for some
time (especially with overlapping recoveries), and some errors
in the later part of recovery could not be returned to the caller.

Kernel callers gfs2 and cluster-md have their own wait handling to
wait for recovery to complete after calling dlm_new_lockspace().
This continues to work, but will be unnecessary.

Signed-off-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
fs/dlm/dlm_internal.h
fs/dlm/lockspace.c
fs/dlm/member.c
fs/dlm/recoverd.c