On Fri, Mar 06, 2015 at 16:58:22 +0100, Jiri Denemark wrote:
Commit v1.2.4-52-gda879e5 fixed issues with domains started before
sanlock driver was enabled by checking whether a running domain is
registered with sanlock and if it's not, sanlock driver is basically
ignored for the domain.
However, it was checking this even for domain which has just been
started and no sanlock_* API was called for them yet. This results in
cmd 9 target pid 2135544 not found
error messages to appear in sanlock.log whenever we start a new domain.
This patch avoids this useless check for freshly started domains.
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/locking/domain_lock.c | 22 ++++++++++++----------
src/locking/lock_driver.h | 12 +++++++++++-
src/locking/lock_driver_lockd.c | 2 +-
src/locking/lock_driver_sanlock.c | 9 ++++++---
src/locking/lock_manager.c | 2 +-
5 files changed, 31 insertions(+), 16 deletions(-)
...
diff --git a/src/locking/lock_driver_lockd.c
b/src/locking/lock_driver_lockd.c
index 8d184fe..72a4a0c 100644
--- a/src/locking/lock_driver_lockd.c
+++ b/src/locking/lock_driver_lockd.c
@@ -439,7 +439,7 @@ static int virLockManagerLockDaemonNew(virLockManagerPtr lock,
virLockManagerLockDaemonPrivatePtr priv;
size_t i;
- virCheckFlags(VIR_LOCK_MANAGER_USES_STATE, -1);
+ virCheckFlags(VIR_LOCK_MANAGER_NEW_STARTED, -1);
if (VIR_ALLOC(priv) < 0)
return -1;
Confused with this weird change? So am I :-) The
VIR_LOCK_MANAGER_USES_STATE should really have been 0 (as in the sanlock
driver) since virLockManagerNew is never called with such a flag.
However, should VIR_LOCK_MANAGER_USES_STATE be set to
virLockDriverImpl.flags in src/locking/lock_driver_lockd.c, which should
be the only usage of this flag in any lock driver? Sanlock sets the flag
but should lock set it too or not?
Jirka