[lvm-devel] main - lvmlockd: cleanup after sanlock_rem_lockspace error
David Teigland
teigland at sourceware.org
Tue Jan 4 20:57:44 UTC 2022
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=42a16aa6f34d801bfea169b4f6d1fef5d89961f6
Commit: 42a16aa6f34d801bfea169b4f6d1fef5d89961f6
Parent: 04fbffb116eaf5fb1b10785df92966d0083b270f
Author: David Teigland <teigland at redhat.com>
AuthorDate: Tue Jan 4 14:47:31 2022 -0600
Committer: David Teigland <teigland at redhat.com>
CommitterDate: Tue Jan 4 14:53:47 2022 -0600
lvmlockd: cleanup after sanlock_rem_lockspace error
When storage is lost under a sanlock VG, and kill_vg/drop_vg
are used, sanlock_rem_lockspace() may return an error, but
the cleanup steps should still be performed. Without the
cleanup, gl_lsname_sanlock was not cleared. This caused
future lock requests to fail with ENOLS, but the NO_GL_LS
flag was not set due to gl_lsname_sanlock being set.
This caused lockd_global(sh) in lvm commands to fail when
they could succeed.
Fix from guozhonghua216
---
daemons/lvmlockd/lvmlockd-sanlock.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/daemons/lvmlockd/lvmlockd-sanlock.c b/daemons/lvmlockd/lvmlockd-sanlock.c
index e595eeffd..3f078ea41 100644
--- a/daemons/lvmlockd/lvmlockd-sanlock.c
+++ b/daemons/lvmlockd/lvmlockd-sanlock.c
@@ -1576,10 +1576,8 @@ int lm_rem_lockspace_sanlock(struct lockspace *ls, int free_vg)
goto out;
rv = sanlock_rem_lockspace(&lms->ss, 0);
- if (rv < 0) {
+ if (rv < 0)
log_error("S %s rem_lockspace_san error %d", ls->name, rv);
- return rv;
- }
if (free_vg) {
/*
More information about the lvm-devel
mailing list