From e18a80a3a0135eb26113d321dfd5dfd151b998be Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Fri, 25 Apr 2014 11:55:32 +0100 Subject: [PATCH] Use virFileFindResource to locate virtlockd daemon Make the lock plugin use virFileFindResource to find the virtlockd daemon path, so that it executes the in-builddir daemon if run from source tree. Signed-off-by: Daniel P. Berrange --- run.in | 2 +- src/locking/lock_driver_lockd.c | 25 +++++++------------------ 2 files changed, 8 insertions(+), 19 deletions(-) diff --git a/run.in b/run.in index 4371076ea..1a379ddf3 100644 --- a/run.in +++ b/run.in @@ -55,7 +55,7 @@ export LD_LIBRARY_PATH export LIBVIRT_DRIVER_DIR="$b/src/.libs" export LIBVIRT_LOCK_MANAGER_PLUGIN_DIR="$b/src/.libs" -export VIRTLOCKD_PATH="$b/src/virtlockd" +export VIRTLOCKD_PATH="$b/src" export LIBVIRTD_PATH="$b/daemon" # This is a cheap way to find some use-after-free and uninitialized diff --git a/src/locking/lock_driver_lockd.c b/src/locking/lock_driver_lockd.c index afa3bac5b..c67bda65b 100644 --- a/src/locking/lock_driver_lockd.c +++ b/src/locking/lock_driver_lockd.c @@ -81,22 +81,6 @@ struct _virLockManagerLockDaemonDriver { static virLockManagerLockDaemonDriverPtr driver = NULL; -#define VIRTLOCKD_PATH SBINDIR "/virtlockd" - -static const char * -virLockManagerLockDaemonFindDaemon(void) -{ - const char *customDaemon = virGetEnvBlockSUID("VIRTLOCKD_PATH"); - - if (customDaemon) - return customDaemon; - - if (virFileIsExecutable(VIRTLOCKD_PATH)) - return VIRTLOCKD_PATH; - - return NULL; -} - static int virLockManagerLockDaemonLoadConfig(const char *configFile) { virConfPtr conf; @@ -266,8 +250,13 @@ static virNetClientPtr virLockManagerLockDaemonConnectionNew(bool privileged, if (!(lockdpath = virLockManagerLockDaemonPath(privileged))) goto error; - if (!privileged) - daemonPath = virLockManagerLockDaemonFindDaemon(); + if (!privileged && + !(daemonPath = virFileFindResourceFull("virtlockd", + NULL, NULL, + "src", + SBINDIR, + "VIRTLOCKD_PATH"))) + goto error; if (!(client = virNetClientNewUNIX(lockdpath, daemonPath != NULL, -- 2.39.5