All code using LOCALSTATEDIR "/run" is updated to use RUNSTATEDIR
instead. The exception is the remote driver client which still
uses LOCALSTATEDIR "/run". The client needs to connect to remote
machines which may not be using /run, so /var/run is more portable
due to the /var/run -> /run symlink.
Some duplicate paths in the apparmor code are also purged.
There's no functional change by default yet since both expressions
expand to the same value.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
src/bhyve/bhyve_utils.h | 2 +-
src/interface/interface_backend_netcf.c | 2 +-
src/interface/interface_backend_udev.c | 2 +-
src/libvirt-admin.c | 2 +-
src/libxl/libxl_conf.h | 2 +-
src/locking/lock_daemon.c | 18 +++++++-------
src/locking/lock_driver_lockd.c | 2 +-
src/locking/virtlockd.pod | 8 +++---
src/logging/log_daemon.c | 18 +++++++-------
src/logging/log_manager.c | 2 +-
src/logging/virtlogd.pod | 8 +++---
src/lxc/lxc_conf.h | 2 +-
src/lxc/lxc_process.c | 2 +-
src/network/bridge_driver.c | 4 +--
src/network/leaseshelper.c | 2 +-
src/node_device/node_device_hal.c | 2 +-
src/node_device/node_device_udev.c | 2 +-
src/nwfilter/nwfilter_dhcpsnoop.c | 4 +--
src/nwfilter/nwfilter_driver.c | 4 +--
src/qemu/qemu_conf.c | 4 +--
src/remote/libvirtd.pod | 10 ++++----
src/remote/remote_daemon.c | 24 +++++++++---------
src/remote/remote_daemon_dispatch.c | 4 +--
src/remote/remote_driver.c | 6 +++++
src/secret/secret_driver.c | 2 +-
src/security/virt-aa-helper.c | 20 ++++++---------
src/storage/storage_driver.c | 2 +-
src/util/virhostdev.c | 2 +-
src/util/virpidfile.c | 8 +++---
src/util/virsystemd.c | 33 ++++++++++++++++---------
src/vz/vz_driver.c | 2 +-
31 files changed, 109 insertions(+), 96 deletions(-)
diff --git a/src/bhyve/bhyve_utils.h b/src/bhyve/bhyve_utils.h
index 3d212e3ccf..8dda6062b5 100644
--- a/src/bhyve/bhyve_utils.h
+++ b/src/bhyve/bhyve_utils.h
@@ -31,7 +31,7 @@
#define BHYVE_AUTOSTART_DIR SYSCONFDIR "/libvirt/bhyve/autostart"
#define BHYVE_CONFIG_DIR SYSCONFDIR "/libvirt/bhyve"
-#define BHYVE_STATE_DIR LOCALSTATEDIR "/run/libvirt/bhyve"
+#define BHYVE_STATE_DIR RUNSTATEDIR "/libvirt/bhyve"
#define BHYVE_LOG_DIR LOCALSTATEDIR "/log/libvirt/bhyve"
typedef struct _virBhyveDriverConfig virBhyveDriverConfig;
diff --git a/src/interface/interface_backend_netcf.c
b/src/interface/interface_backend_netcf.c
index eb509ccc13..9659e9fcf1 100644
--- a/src/interface/interface_backend_netcf.c
+++ b/src/interface/interface_backend_netcf.c
@@ -102,7 +102,7 @@ netcfStateInitialize(bool privileged,
if (privileged) {
if (virAsprintf(&driver->stateDir,
- "%s/run/libvirt/interface", LOCALSTATEDIR) < 0)
+ "%s/libvirt/interface", RUNSTATEDIR) < 0)
goto error;
} else {
VIR_AUTOFREE(char *) rundir = NULL;
diff --git a/src/interface/interface_backend_udev.c
b/src/interface/interface_backend_udev.c
index ef748540d1..ddc3de5347 100644
--- a/src/interface/interface_backend_udev.c
+++ b/src/interface/interface_backend_udev.c
@@ -1181,7 +1181,7 @@ udevStateInitialize(bool privileged,
if (privileged) {
if (virAsprintf(&driver->stateDir,
- "%s/run/libvirt/interface", LOCALSTATEDIR) < 0)
+ "%s/libvirt/interface", RUNSTATEDIR) < 0)
goto cleanup;
} else {
VIR_AUTOFREE(char *) rundir = NULL;
diff --git a/src/libvirt-admin.c b/src/libvirt-admin.c
index 6ad4436bff..ba88f09824 100644
--- a/src/libvirt-admin.c
+++ b/src/libvirt-admin.c
@@ -149,7 +149,7 @@ getSocketPath(virURIPtr uri)
}
if (STREQ_NULLABLE(uri->path, "/system")) {
- if (virAsprintf(&sock_path, LOCALSTATEDIR "/run/libvirt/%s",
+ if (virAsprintf(&sock_path, RUNSTATEDIR "/libvirt/%s",
sockbase) < 0)
goto error;
} else if (STREQ_NULLABLE(uri->path, "/session")) {
diff --git a/src/libxl/libxl_conf.h b/src/libxl/libxl_conf.h
index 552f039d2a..27badfb292 100644
--- a/src/libxl/libxl_conf.h
+++ b/src/libxl/libxl_conf.h
@@ -48,7 +48,7 @@
#define LIBXL_CONFIG_BASE_DIR SYSCONFDIR "/libvirt"
#define LIBXL_CONFIG_DIR SYSCONFDIR "/libvirt/libxl"
#define LIBXL_AUTOSTART_DIR LIBXL_CONFIG_DIR "/autostart"
-#define LIBXL_STATE_DIR LOCALSTATEDIR "/run/libvirt/libxl"
+#define LIBXL_STATE_DIR RUNSTATEDIR "/libvirt/libxl"
#define LIBXL_LOG_DIR LOCALSTATEDIR "/log/libvirt/libxl"
#define LIBXL_LIB_DIR LOCALSTATEDIR "/lib/libvirt/libxl"
#define LIBXL_SAVE_DIR LIBXL_LIB_DIR "/save"
diff --git a/src/locking/lock_daemon.c b/src/locking/lock_daemon.c
index 104483267f..ac242bf65c 100644
--- a/src/locking/lock_daemon.c
+++ b/src/locking/lock_daemon.c
@@ -447,8 +447,8 @@ virLockDaemonUnixSocketPaths(bool privileged,
char **adminSockfile)
{
if (privileged) {
- if (VIR_STRDUP(*sockfile, LOCALSTATEDIR "/run/libvirt/virtlockd-sock")
< 0 ||
- VIR_STRDUP(*adminSockfile, LOCALSTATEDIR
"/run/libvirt/virtlockd-admin-sock") < 0)
+ if (VIR_STRDUP(*sockfile, RUNSTATEDIR "/libvirt/virtlockd-sock") < 0
||
+ VIR_STRDUP(*adminSockfile, RUNSTATEDIR
"/libvirt/virtlockd-admin-sock") < 0)
goto error;
} else {
char *rundir = NULL;
@@ -831,7 +831,7 @@ virLockDaemonExecRestartStatePath(bool privileged,
char **state_file)
{
if (privileged) {
- if (VIR_STRDUP(*state_file, LOCALSTATEDIR
"/run/virtlockd-restart-exec.json") < 0)
+ if (VIR_STRDUP(*state_file, RUNSTATEDIR "/virtlockd-restart-exec.json")
< 0)
goto error;
} else {
char *rundir = NULL;
@@ -1062,14 +1062,14 @@ virLockDaemonUsage(const char *argv0, bool privileged)
" %s/libvirt/virtlockd.conf\n"
"\n"
" Sockets:\n"
- " %s/run/libvirt/virtlockd-sock\n"
+ " %s/libvirt/virtlockd-sock\n"
"\n"
" PID file (unless overridden by -p):\n"
- " %s/run/virtlockd.pid\n"
+ " %s/virtlockd.pid\n"
"\n"),
SYSCONFDIR,
- LOCALSTATEDIR,
- LOCALSTATEDIR);
+ RUNSTATEDIR,
+ RUNSTATEDIR);
} else {
fprintf(stderr, "%s",
_("\n"
@@ -1221,7 +1221,7 @@ int main(int argc, char **argv) {
if (!pid_file &&
virPidFileConstructPath(privileged,
- LOCALSTATEDIR,
+ RUNSTATEDIR,
"virtlockd",
&pid_file) < 0) {
VIR_ERROR(_("Can't determine pid file path."));
@@ -1248,7 +1248,7 @@ int main(int argc, char **argv) {
/* Ensure the rundir exists (on tmpfs on some systems) */
if (privileged) {
- if (VIR_STRDUP_QUIET(run_dir, LOCALSTATEDIR "/run/libvirt") < 0)
+ if (VIR_STRDUP_QUIET(run_dir, RUNSTATEDIR "/libvirt") < 0)
goto no_memory;
} else {
if (!(run_dir = virGetUserRuntimeDirectory())) {
diff --git a/src/locking/lock_driver_lockd.c b/src/locking/lock_driver_lockd.c
index f6371f3050..164f83eb4b 100644
--- a/src/locking/lock_driver_lockd.c
+++ b/src/locking/lock_driver_lockd.c
@@ -124,7 +124,7 @@ static char *virLockManagerLockDaemonPath(bool privileged)
{
char *path;
if (privileged) {
- if (VIR_STRDUP(path, LOCALSTATEDIR "/run/libvirt/virtlockd-sock") <
0)
+ if (VIR_STRDUP(path, RUNSTATEDIR "/libvirt/virtlockd-sock") < 0)
return NULL;
} else {
char *rundir = NULL;
diff --git a/src/locking/virtlockd.pod b/src/locking/virtlockd.pod
index de0eb8ac18..0b9f758e29 100644
--- a/src/locking/virtlockd.pod
+++ b/src/locking/virtlockd.pod
@@ -72,11 +72,11 @@ upgrades of the virtlockd service.
The default configuration file used by virtlockd, unless overridden on the
command line using the B<-f>|B<--config> option.
-=item F<LOCALSTATEDIR/run/libvirt/virtlockd-sock>
+=item F<RUNSTATEDIR/libvirt/virtlockd-sock>
The sockets libvirtd will use.
-=item F<LOCALSTATEDIR/run/virtlockd.pid>
+=item F<RUNSTATEDIR/virtlockd.pid>
The PID file to use, unless overridden by the B<-p>|B<--pid-file> option.
@@ -116,8 +116,8 @@ To retrieve the version of virtlockd:
To start virtlockd, instructing it to daemonize and create a PID file:
# virtlockd -d
- # ls -la LOCALSTATEDIR/run/virtlockd.pid
- -rw-r--r-- 1 root root 6 Jul 9 02:40 LOCALSTATEDIR/run/virtlockd.pid
+ # ls -la RUNSTATEDIR/virtlockd.pid
+ -rw-r--r-- 1 root root 6 Jul 9 02:40 RUNSTATEDIR/virtlockd.pid
#
=head1 BUGS
diff --git a/src/logging/log_daemon.c b/src/logging/log_daemon.c
index 4103f2cefe..f74e900aea 100644
--- a/src/logging/log_daemon.c
+++ b/src/logging/log_daemon.c
@@ -388,8 +388,8 @@ virLogDaemonUnixSocketPaths(bool privileged,
char **adminSockfile)
{
if (privileged) {
- if (VIR_STRDUP(*sockfile, LOCALSTATEDIR "/run/libvirt/virtlogd-sock")
< 0 ||
- VIR_STRDUP(*adminSockfile, LOCALSTATEDIR
"/run/libvirt/virtlogd-admin-sock") < 0)
+ if (VIR_STRDUP(*sockfile, RUNSTATEDIR "/libvirt/virtlogd-sock") < 0
||
+ VIR_STRDUP(*adminSockfile, RUNSTATEDIR
"/libvirt/virtlogd-admin-sock") < 0)
goto error;
} else {
char *rundir = NULL;
@@ -623,7 +623,7 @@ virLogDaemonExecRestartStatePath(bool privileged,
char **state_file)
{
if (privileged) {
- if (VIR_STRDUP(*state_file, LOCALSTATEDIR
"/run/virtlogd-restart-exec.json") < 0)
+ if (VIR_STRDUP(*state_file, RUNSTATEDIR "/virtlogd-restart-exec.json")
< 0)
goto error;
} else {
char *rundir = NULL;
@@ -834,14 +834,14 @@ virLogDaemonUsage(const char *argv0, bool privileged)
" %s/libvirt/virtlogd.conf\n"
"\n"
" Sockets:\n"
- " %s/run/libvirt/virtlogd-sock\n"
+ " %s/libvirt/virtlogd-sock\n"
"\n"
" PID file (unless overridden by -p):\n"
- " %s/run/virtlogd.pid\n"
+ " %s/virtlogd.pid\n"
"\n"),
SYSCONFDIR,
- LOCALSTATEDIR,
- LOCALSTATEDIR);
+ RUNSTATEDIR,
+ RUNSTATEDIR);
} else {
fprintf(stderr, "%s",
_("\n"
@@ -992,7 +992,7 @@ int main(int argc, char **argv) {
if (!pid_file &&
virPidFileConstructPath(privileged,
- LOCALSTATEDIR,
+ RUNSTATEDIR,
"virtlogd",
&pid_file) < 0) {
VIR_ERROR(_("Can't determine pid file path."));
@@ -1019,7 +1019,7 @@ int main(int argc, char **argv) {
/* Ensure the rundir exists (on tmpfs on some systems) */
if (privileged) {
- if (VIR_STRDUP_QUIET(run_dir, LOCALSTATEDIR "/run/libvirt") < 0)
+ if (VIR_STRDUP_QUIET(run_dir, RUNSTATEDIR "/libvirt") < 0)
goto no_memory;
} else {
if (!(run_dir = virGetUserRuntimeDirectory())) {
diff --git a/src/logging/log_manager.c b/src/logging/log_manager.c
index eb0a32b4b6..1613d1f8a8 100644
--- a/src/logging/log_manager.c
+++ b/src/logging/log_manager.c
@@ -45,7 +45,7 @@ virLogManagerDaemonPath(bool privileged)
{
char *path;
if (privileged) {
- if (VIR_STRDUP(path, LOCALSTATEDIR "/run/libvirt/virtlogd-sock") <
0)
+ if (VIR_STRDUP(path, RUNSTATEDIR "/libvirt/virtlogd-sock") < 0)
return NULL;
} else {
char *rundir = NULL;
diff --git a/src/logging/virtlogd.pod b/src/logging/virtlogd.pod
index 5e44f84a85..01dde99296 100644
--- a/src/logging/virtlogd.pod
+++ b/src/logging/virtlogd.pod
@@ -72,11 +72,11 @@ upgrades of the virtlogd service.
The default configuration file used by virtlogd, unless overridden on the
command line using the B<-f>|B<--config> option.
-=item F<LOCALSTATEDIR/run/libvirt/virtlogd-sock>
+=item F<RUNSTATEDIR/libvirt/virtlogd-sock>
The sockets libvirtd will use.
-=item F<LOCALSTATEDIR/run/virtlogd.pid>
+=item F<RUNSTATEDIR/virtlogd.pid>
The PID file to use, unless overridden by the B<-p>|B<--pid-file> option.
@@ -116,8 +116,8 @@ To retrieve the version of virtlogd:
To start virtlogd, instructing it to daemonize and create a PID file:
# virtlogd -d
- # ls -la LOCALSTATEDIR/run/virtlogd.pid
- -rw-r--r-- 1 root root 6 Jul 9 02:40 LOCALSTATEDIR/run/virtlogd.pid
+ # ls -la RUNSTATEDIR/virtlogd.pid
+ -rw-r--r-- 1 root root 6 Jul 9 02:40 RUNSTATEDIR/virtlogd.pid
#
=head1 BUGS
diff --git a/src/lxc/lxc_conf.h b/src/lxc/lxc_conf.h
index e26ca22d3c..12a201db38 100644
--- a/src/lxc/lxc_conf.h
+++ b/src/lxc/lxc_conf.h
@@ -38,7 +38,7 @@
#define LXC_DRIVER_NAME "LXC"
#define LXC_CONFIG_DIR SYSCONFDIR "/libvirt/lxc"
-#define LXC_STATE_DIR LOCALSTATEDIR "/run/libvirt/lxc"
+#define LXC_STATE_DIR RUNSTATEDIR "/libvirt/lxc"
#define LXC_LOG_DIR LOCALSTATEDIR "/log/libvirt/lxc"
#define LXC_AUTOSTART_DIR LXC_CONFIG_DIR "/autostart"
diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c
index 3d03086ea7..cd65e7a0c0 100644
--- a/src/lxc/lxc_process.c
+++ b/src/lxc/lxc_process.c
@@ -470,7 +470,7 @@ static int virLXCProcessSetupNamespaceNet(int ns_type, const char
*name)
return -1;
}
- if (virAsprintf(&path, "/var/run/netns/%s", name) < 0)
+ if (virAsprintf(&path, "%s/netns/%s", RUNSTATEDIR, name) < 0)
return -1;
fd = open(path, O_RDONLY);
VIR_FREE(path);
diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
index 86e2035b85..7b44184616 100644
--- a/src/network/bridge_driver.c
+++ b/src/network/bridge_driver.c
@@ -726,9 +726,9 @@ networkStateInitialize(bool privileged,
VIR_STRDUP(network_driver->networkAutostartDir,
SYSCONFDIR "/libvirt/qemu/networks/autostart") < 0
||
VIR_STRDUP(network_driver->stateDir,
- LOCALSTATEDIR "/run/libvirt/network") < 0 ||
+ RUNSTATEDIR "/libvirt/network") < 0 ||
VIR_STRDUP(network_driver->pidDir,
- LOCALSTATEDIR "/run/libvirt/network") < 0 ||
+ RUNSTATEDIR "/libvirt/network") < 0 ||
VIR_STRDUP(network_driver->dnsmasqStateDir,
LOCALSTATEDIR "/lib/libvirt/dnsmasq") < 0 ||
VIR_STRDUP(network_driver->radvdStateDir,
diff --git a/src/network/leaseshelper.c b/src/network/leaseshelper.c
index 481f29aa59..5e04e16171 100644
--- a/src/network/leaseshelper.c
+++ b/src/network/leaseshelper.c
@@ -160,7 +160,7 @@ main(int argc, char **argv)
interface) < 0)
goto cleanup;
- if (VIR_STRDUP(pid_file, LOCALSTATEDIR "/run/leaseshelper.pid") < 0)
+ if (VIR_STRDUP(pid_file, RUNSTATEDIR "/leaseshelper.pid") < 0)
goto cleanup;
/* Try to claim the pidfile, exiting if we can't */
diff --git a/src/node_device/node_device_hal.c b/src/node_device/node_device_hal.c
index d46e4e98f3..c613ca5808 100644
--- a/src/node_device/node_device_hal.c
+++ b/src/node_device/node_device_hal.c
@@ -619,7 +619,7 @@ nodeStateInitialize(bool privileged ATTRIBUTE_UNUSED,
if (privileged) {
if (virAsprintf(&driver->stateDir,
- "%s/run/libvirt/nodedev", LOCALSTATEDIR) < 0)
+ "%s/libvirt/nodedev", RUNSTATEDIR) < 0)
goto failure;
} else {
VIR_AUTOFREE(char *) rundir = NULL;
diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c
index adf60e4537..5550ee3a54 100644
--- a/src/node_device/node_device_udev.c
+++ b/src/node_device/node_device_udev.c
@@ -1830,7 +1830,7 @@ nodeStateInitialize(bool privileged,
if (privileged) {
if (virAsprintf(&driver->stateDir,
- "%s/run/libvirt/nodedev", LOCALSTATEDIR) < 0)
+ "%s/libvirt/nodedev", RUNSTATEDIR) < 0)
goto cleanup;
} else {
VIR_AUTOFREE(char *) rundir = NULL;
diff --git a/src/nwfilter/nwfilter_dhcpsnoop.c b/src/nwfilter/nwfilter_dhcpsnoop.c
index d8a1e7f8a8..2af8cfdd32 100644
--- a/src/nwfilter/nwfilter_dhcpsnoop.c
+++ b/src/nwfilter/nwfilter_dhcpsnoop.c
@@ -29,7 +29,7 @@
* while :; do kill -SIGTERM `pidof dhclient`; dhclient eth0; ifconfig eth0; done
*
* On the host check the lease file and that it's periodically shortened:
- * cat /var/run/libvirt/network/nwfilter.leases; date +%s
+ * cat $runstatedir/libvirt/network/nwfilter.leases; date +%s
*
* On the host also check that the ebtables rules 'look' ok:
* ebtables -t nat -L
@@ -71,7 +71,7 @@ VIR_LOG_INIT("nwfilter.nwfilter_dhcpsnoop");
#ifdef HAVE_LIBPCAP
-# define LEASEFILE_DIR LOCALSTATEDIR "/run/libvirt/network/"
+# define LEASEFILE_DIR RUNSTATEDIR "/libvirt/network/"
# define LEASEFILE LEASEFILE_DIR "nwfilter.leases"
# define TMPLEASEFILE LEASEFILE_DIR "nwfilter.ltmp"
diff --git a/src/nwfilter/nwfilter_driver.c b/src/nwfilter/nwfilter_driver.c
index 6073143437..aef5bd4c7f 100644
--- a/src/nwfilter/nwfilter_driver.c
+++ b/src/nwfilter/nwfilter_driver.c
@@ -205,7 +205,7 @@ nwfilterStateInitialize(bool privileged,
nwfilterDriverLock();
- if (VIR_STRDUP(driver->stateDir, LOCALSTATEDIR "/run/libvirt/nwfilter")
< 0)
+ if (VIR_STRDUP(driver->stateDir, RUNSTATEDIR "/libvirt/nwfilter") <
0)
goto error;
if (virFileMakePathWithMode(driver->stateDir, S_IRWXU) < 0) {
@@ -261,7 +261,7 @@ nwfilterStateInitialize(bool privileged,
goto error;
}
- if (VIR_STRDUP(driver->bindingDir, LOCALSTATEDIR
"/run/libvirt/nwfilter-binding") < 0)
+ if (VIR_STRDUP(driver->bindingDir, RUNSTATEDIR
"/libvirt/nwfilter-binding") < 0)
goto error;
if (virFileMakePathWithMode(driver->bindingDir, S_IRWXU) < 0) {
diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
index 2953893337..89c183e46a 100644
--- a/src/qemu/qemu_conf.c
+++ b/src/qemu/qemu_conf.c
@@ -142,11 +142,11 @@ virQEMUDriverConfigPtr virQEMUDriverConfigNew(bool privileged)
goto error;
if (virAsprintf(&cfg->stateDir,
- "%s/run/libvirt/qemu", LOCALSTATEDIR) < 0)
+ "%s/libvirt/qemu", RUNSTATEDIR) < 0)
goto error;
if (virAsprintf(&cfg->swtpmStateDir,
- "%s/run/libvirt/qemu/swtpm", LOCALSTATEDIR) < 0)
+ "%s/libvirt/qemu/swtpm", RUNSTATEDIR) < 0)
goto error;
if (virAsprintf(&cfg->cacheDir,
diff --git a/src/remote/libvirtd.pod b/src/remote/libvirtd.pod
index 4721e0f4ec..4988f0f7fa 100644
--- a/src/remote/libvirtd.pod
+++ b/src/remote/libvirtd.pod
@@ -84,9 +84,9 @@ On receipt of B<SIGHUP> libvirtd will reload its configuration.
The default configuration file used by libvirtd, unless overridden on the
command line using the B<-f>|B<--config> option.
-=item F<LOCALSTATEDIR/run/libvirt/libvirt-sock>
+=item F<RUNSTATEDIR/libvirt/libvirt-sock>
-=item F<LOCALSTATEDIR/run/libvirt/libvirt-sock-ro>
+=item F<RUNSTATEDIR/libvirt/libvirt-sock-ro>
The sockets libvirtd will use.
@@ -102,7 +102,7 @@ The TLS B<Server> certificate libvirtd will use.
The TLS B<Server> private key libvirtd will use.
-=item F<LOCALSTATEDIR/run/libvirtd.pid>
+=item F<RUNSTATEDIR/libvirtd.pid>
The PID file to use, unless overridden by the B<-p>|B<--pid-file> option.
@@ -154,8 +154,8 @@ To retrieve the version of libvirtd:
To start libvirtd, instructing it to daemonize and create a PID file:
# libvirtd -d
- # ls -la LOCALSTATEDIR/run/libvirtd.pid
- -rw-r--r-- 1 root root 6 Jul 9 02:40 LOCALSTATEDIR/run/libvirtd.pid
+ # ls -la RUNSTATEDIR/libvirtd.pid
+ -rw-r--r-- 1 root root 6 Jul 9 02:40 RUNSTATEDIR/libvirtd.pid
#
=head1 BUGS
diff --git a/src/remote/remote_daemon.c b/src/remote/remote_daemon.c
index 1138485870..3edc357fea 100644
--- a/src/remote/remote_daemon.c
+++ b/src/remote/remote_daemon.c
@@ -238,12 +238,12 @@ daemonUnixSocketPaths(struct daemonConfig *config,
}
} else {
if (privileged) {
- if (virAsprintf(sockfile, "%s/run/libvirt/%s-sock",
- LOCALSTATEDIR, SOCK_PREFIX) < 0 ||
- virAsprintf(rosockfile, "%s/run/libvirt/%s-sock-ro",
- LOCALSTATEDIR, SOCK_PREFIX) < 0 ||
- virAsprintf(admsockfile, "%s/run/libvirt/%s-admin-sock",
- LOCALSTATEDIR, SOCK_PREFIX) < 0)
+ if (virAsprintf(sockfile, "%s/libvirt/%s-sock",
+ RUNSTATEDIR, SOCK_PREFIX) < 0 ||
+ virAsprintf(rosockfile, "%s/libvirt/%s-sock-ro",
+ RUNSTATEDIR, SOCK_PREFIX) < 0 ||
+ virAsprintf(admsockfile, "%s/libvirt/%s-admin-sock",
+ RUNSTATEDIR, SOCK_PREFIX) < 0)
goto cleanup;
} else {
mode_t old_umask;
@@ -945,11 +945,11 @@ daemonUsage(const char *argv0, bool privileged)
fprintf(stderr, " %s\n", _("Sockets:"));
fprintf(stderr, " %s/libvirt/%s-sock\n",
- privileged ? LOCALSTATEDIR "/run" : "$XDG_RUNTIME_DIR",
+ privileged ? RUNSTATEDIR : "$XDG_RUNTIME_DIR",
SOCK_PREFIX);
if (privileged)
- fprintf(stderr, " %s/run/libvirt/%s-sock-ro\n",
- LOCALSTATEDIR, SOCK_PREFIX);
+ fprintf(stderr, " %s/libvirt/%s-sock-ro\n",
+ RUNSTATEDIR, SOCK_PREFIX);
fprintf(stderr, "\n");
#ifdef WITH_IP
@@ -969,7 +969,7 @@ daemonUsage(const char *argv0, bool privileged)
fprintf(stderr, " %s\n",
_("PID file (unless overridden by -p):"));
fprintf(stderr, " %s/%s.pid\n",
- privileged ? LOCALSTATEDIR "/run" :
"$XDG_RUNTIME_DIR/libvirt",
+ privileged ? RUNSTATEDIR : "$XDG_RUNTIME_DIR/libvirt",
DAEMON_NAME);
fprintf(stderr, "\n");
}
@@ -1149,7 +1149,7 @@ int main(int argc, char **argv) {
if (!pid_file &&
virPidFileConstructPath(privileged,
- LOCALSTATEDIR,
+ RUNSTATEDIR,
DAEMON_NAME,
&pid_file) < 0) {
VIR_ERROR(_("Can't determine pid file path."));
@@ -1194,7 +1194,7 @@ int main(int argc, char **argv) {
/* Ensure the rundir exists (on tmpfs on some systems) */
if (privileged) {
- if (VIR_STRDUP_QUIET(run_dir, LOCALSTATEDIR "/run/libvirt") < 0) {
+ if (VIR_STRDUP_QUIET(run_dir, RUNSTATEDIR "/libvirt") < 0) {
VIR_ERROR(_("Can't allocate memory"));
goto cleanup;
}
diff --git a/src/remote/remote_daemon_dispatch.c b/src/remote/remote_daemon_dispatch.c
index 1bd281dd6d..ffff90e848 100644
--- a/src/remote/remote_daemon_dispatch.c
+++ b/src/remote/remote_daemon_dispatch.c
@@ -2192,8 +2192,8 @@ remoteDispatchProbeURI(bool readonly,
for (i = 0; i < (ssize_t) ARRAY_CARDINALITY(drivers) && !*probeduri;
i++) {
VIR_AUTOFREE(char *) sockname = NULL;
- if (virAsprintf(&sockname, "%s/run/libvirt/virt%sd-%s",
- LOCALSTATEDIR, drivers[i],
+ if (virAsprintf(&sockname, "%s/libvirt/virt%sd-%s",
+ RUNSTATEDIR, drivers[i],
readonly ? "sock-ro" : "sock") < 0)
return -1;
diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
index daac506672..ae72fd58fd 100644
--- a/src/remote/remote_driver.c
+++ b/src/remote/remote_driver.c
@@ -789,6 +789,12 @@ remoteGetUNIXSocketHelper(remoteDriverTransport transport,
userdir, sock_prefix) < 0)
return NULL;
} else {
+ /* Intentionally do *NOT* use RUNSTATEDIR here. We might
+ * be connecting to a remote machine, and cannot assume
+ * the remote host has /run. The converse is ok though,
+ * any machine with /run will have a /var/run symlink.
+ * The portable option is to thus use $LOCALSTATEDIR/run
+ */
if (virAsprintf(&sockname, "%s/run/libvirt/%s-%s",
LOCALSTATEDIR, sock_prefix,
flags & VIR_DRV_OPEN_REMOTE_RO ?
diff --git a/src/secret/secret_driver.c b/src/secret/secret_driver.c
index 0d5ea05f56..7512a51c74 100644
--- a/src/secret/secret_driver.c
+++ b/src/secret/secret_driver.c
@@ -474,7 +474,7 @@ secretStateInitialize(bool privileged,
"%s/libvirt/secrets", SYSCONFDIR) < 0)
goto error;
if (virAsprintf(&driver->stateDir,
- "%s/run/libvirt/secrets", LOCALSTATEDIR) < 0)
+ "%s/libvirt/secrets", RUNSTATEDIR) < 0)
goto error;
} else {
VIR_AUTOFREE(char *) rundir = NULL;
diff --git a/src/security/virt-aa-helper.c b/src/security/virt-aa-helper.c
index 60c9b75980..deadfb7da0 100644
--- a/src/security/virt-aa-helper.c
+++ b/src/security/virt-aa-helper.c
@@ -1232,8 +1232,8 @@ get_files(vahControl * ctl)
/* Unix socket for QEMU and swtpm to use */
virBufferAsprintf(&buf,
- " \"/run/libvirt/qemu/swtpm/%s-swtpm.sock\" rw,\n",
- shortName);
+ " \"%/libvirt/qemu/swtpm/%s-swtpm.sock\" rw,\n",
+ RUNSTATEDIR, shortName);
/* Paths for swtpm to use: give it access to its state
* directory, log, and PID files.
*/
@@ -1244,8 +1244,8 @@ get_files(vahControl * ctl)
" \"%s/log/swtpm/libvirt/qemu/%s-swtpm.log\" a,\n",
LOCALSTATEDIR, ctl->def->name);
virBufferAsprintf(&buf,
- " \"/run/libvirt/qemu/swtpm/%s-swtpm.pid\" rw,\n",
- shortName);
+ " \"%s/libvirt/qemu/swtpm/%s-swtpm.pid\" rw,\n",
+ RUNSTATEDIR, shortName);
VIR_FREE(shortName);
break;
@@ -1486,14 +1486,10 @@ main(int argc, char **argv)
LOCALSTATEDIR, ctl->def->name);
virBufferAsprintf(&buf, "
\"%s/lib/libvirt/qemu/domain-%d-%.*s/*\" rw,\n",
LOCALSTATEDIR, ctl->def->id, 20,
ctl->def->name);
- virBufferAsprintf(&buf, "
\"%s/run/libvirt/**/%s.pid\" rwk,\n",
- LOCALSTATEDIR, ctl->def->name);
- virBufferAsprintf(&buf, " \"/run/libvirt/**/%s.pid\"
rwk,\n",
- ctl->def->name);
- virBufferAsprintf(&buf, "
\"%s/run/libvirt/**/*.tunnelmigrate.dest.%s\" rw,\n",
- LOCALSTATEDIR, ctl->def->name);
- virBufferAsprintf(&buf, "
\"/run/libvirt/**/*.tunnelmigrate.dest.%s\" rw,\n",
- ctl->def->name);
+ virBufferAsprintf(&buf, " \"%s/libvirt/**/%s.pid\"
rwk,\n",
+ RUNSTATEDIR, ctl->def->name);
+ virBufferAsprintf(&buf, "
\"%s/libvirt/**/*.tunnelmigrate.dest.%s\" rw,\n",
+ RUNSTATEDIR, ctl->def->name);
}
if (ctl->files)
virBufferAdd(&buf, ctl->files, -1);
diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index dfa654178b..78f1aa9aa2 100644
--- a/src/storage/storage_driver.c
+++ b/src/storage/storage_driver.c
@@ -273,7 +273,7 @@ storageStateInitialize(bool privileged,
VIR_STRDUP(driver->autostartDir,
SYSCONFDIR "/libvirt/storage/autostart") < 0 ||
VIR_STRDUP(driver->stateDir,
- LOCALSTATEDIR "/run/libvirt/storage") < 0)
+ RUNSTATEDIR "/libvirt/storage") < 0)
goto error;
} else {
configdir = virGetUserConfigDirectory();
diff --git a/src/util/virhostdev.c b/src/util/virhostdev.c
index 6861b8a84e..a93c3f809f 100644
--- a/src/util/virhostdev.c
+++ b/src/util/virhostdev.c
@@ -41,7 +41,7 @@
VIR_LOG_INIT("util.hostdev");
-#define HOSTDEV_STATE_DIR LOCALSTATEDIR "/run/libvirt/hostdevmgr"
+#define HOSTDEV_STATE_DIR RUNSTATEDIR "/libvirt/hostdevmgr"
static virHostdevManagerPtr manager; /* global hostdev manager, never freed */
diff --git a/src/util/virpidfile.c b/src/util/virpidfile.c
index 999bccbee4..a600cfc662 100644
--- a/src/util/virpidfile.c
+++ b/src/util/virpidfile.c
@@ -479,7 +479,7 @@ int virPidFileRelease(const char *dir,
int
virPidFileConstructPath(bool privileged,
- const char *statedir,
+ const char *runstatedir,
const char *progname,
char **pidfile)
{
@@ -490,12 +490,12 @@ virPidFileConstructPath(bool privileged,
* This is here just to allow calling this function with
* statedir == NULL; of course only when !privileged.
*/
- if (!statedir) {
+ if (!runstatedir) {
virReportError(VIR_ERR_INTERNAL_ERROR,
- "%s", _("No statedir specified"));
+ "%s", _("No runstatedir specified"));
return -1;
}
- if (virAsprintf(pidfile, "%s/run/%s.pid", statedir, progname) < 0)
+ if (virAsprintf(pidfile, "%s/%s.pid", runstatedir, progname) < 0)
return -1;
} else {
if (!(rundir = virGetUserRuntimeDirectory()))
diff --git a/src/util/virsystemd.c b/src/util/virsystemd.c
index e75c5b835a..2efc0dd72c 100644
--- a/src/util/virsystemd.c
+++ b/src/util/virsystemd.c
@@ -749,29 +749,40 @@ virSystemdActivationInitFromMap(virSystemdActivationPtr act,
goto error;
}
+ VIR_DEBUG("Got socket family %d for FD %d",
+ addr.data.sa.sa_family, nextfd);
+
for (i = 0; i < nmap && !name; i++) {
if (map[i].name == NULL)
continue;
if (addr.data.sa.sa_family == AF_INET) {
- if (map[i].family == AF_INET &&
- addr.data.inet4.sin_port == htons(map[i].port))
- name = map[i].name;
+ if (map[i].family == AF_INET) {
+ VIR_DEBUG("Expect %d got %d",
+ map[i].port, ntohs(addr.data.inet4.sin_port));
+ if (addr.data.inet4.sin_port == htons(map[i].port))
+ name = map[i].name;
+ }
} else if (addr.data.sa.sa_family == AF_INET6) {
/* NB use of AF_INET here is correct. The "map" struct
* only refers to AF_INET. The socket may be AF_INET
* or AF_INET6
*/
- if (map[i].family == AF_INET &&
- addr.data.inet6.sin6_port == htons(map[i].port))
- name = map[i].name;
+ if (map[i].family == AF_INET) {
+ VIR_DEBUG("Expect %d got %d",
+ map[i].port, ntohs(addr.data.inet6.sin6_port));
+ if (addr.data.inet6.sin6_port == htons(map[i].port))
+ name = map[i].name;
+ }
#ifndef WIN32
} else if (addr.data.sa.sa_family == AF_UNIX) {
- if (map[i].family == AF_UNIX &&
- STREQLEN(map[i].path,
- addr.data.un.sun_path,
- sizeof(addr.data.un.sun_path)))
- name = map[i].name;
+ if (map[i].family == AF_UNIX) {
+ VIR_DEBUG("Expect %s got %s", map[i].path,
addr.data.un.sun_path);
+ if (STREQLEN(map[i].path,
+ addr.data.un.sun_path,
+ sizeof(addr.data.un.sun_path)))
+ name = map[i].name;
+ }
#endif
} else {
virReportError(VIR_ERR_INTERNAL_ERROR,
diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c
index da72b209d1..a4f6c39cb7 100644
--- a/src/vz/vz_driver.c
+++ b/src/vz/vz_driver.c
@@ -60,7 +60,7 @@ VIR_LOG_INIT("parallels.parallels_driver");
#define PRLCTL "prlctl"
-#define VZ_STATEDIR LOCALSTATEDIR "/run/libvirt/vz"
+#define VZ_STATEDIR RUNSTATEDIR "/libvirt/vz"
static virClassPtr vzDriverClass;
--
2.21.0