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 <berrange@redhat.com>
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
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;
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,