mirror of
https://github.com/libvirt/libvirt.git
synced 2026-10-02 12:20:06 -05:00
qemu: add standalone VNC state directory
Add a state directory for the standalone qemu-vnc process, following the same pattern used for the RDP state directory. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
1 parent
0f014efea3
commit
2a46474ca2
3 files changed
+15
No files matched your search
@@ -242,6 +242,7 @@ virQEMUDriverConfig *virQEMUDriverConfigNew(bool privileged,
|
||||
cfg->autostartDir = g_strdup_printf("%s/qemu/autostart", cfg->configBaseDir);
|
||||
cfg->slirpStateDir = g_strdup_printf("%s/slirp", cfg->stateDir);
|
||||
cfg->rdpStateDir = g_strdup_printf("%s/rdp", cfg->stateDir);
|
||||
cfg->vncStateDir = g_strdup_printf("%s/vnc", cfg->stateDir);
|
||||
cfg->passtStateDir = g_strdup_printf("%s/passt", cfg->stateDir);
|
||||
cfg->dbusStateDir = g_strdup_printf("%s/dbus", cfg->stateDir);
|
||||
|
||||
@@ -368,6 +369,7 @@ static void virQEMUDriverConfigDispose(void *obj)
|
||||
g_free(cfg->passtStateDir);
|
||||
g_free(cfg->dbusStateDir);
|
||||
g_free(cfg->rdpStateDir);
|
||||
g_free(cfg->vncStateDir);
|
||||
|
||||
g_free(cfg->libDir);
|
||||
g_free(cfg->cacheDir);
|
||||
|
||||
@@ -112,6 +112,7 @@ struct _virQEMUDriverConfig {
|
||||
char *passtStateDir;
|
||||
char *dbusStateDir;
|
||||
char *rdpStateDir;
|
||||
char *vncStateDir;
|
||||
/* These two directories are ones QEMU processes use (so must match
|
||||
* the QEMU user/group */
|
||||
char *libDir;
|
||||
|
||||
@@ -658,6 +658,11 @@ qemuStateInitialize(bool privileged,
|
||||
cfg->rdpStateDir);
|
||||
goto error;
|
||||
}
|
||||
if (g_mkdir_with_parents(cfg->vncStateDir, 0777) < 0) {
|
||||
virReportSystemError(errno, _("Failed to create vnc state dir %1$s"),
|
||||
cfg->vncStateDir);
|
||||
goto error;
|
||||
}
|
||||
|
||||
qemu_driver->inhibitor = virInhibitorNew(
|
||||
VIR_INHIBITOR_WHAT_SHUTDOWN,
|
||||
@@ -830,6 +835,13 @@ qemuStateInitialize(bool privileged,
|
||||
(int)cfg->group);
|
||||
goto error;
|
||||
}
|
||||
if (chown(cfg->vncStateDir, cfg->user, cfg->group) < 0) {
|
||||
virReportSystemError(errno,
|
||||
_("unable to set ownership of '%1$s' to %2$d:%3$d"),
|
||||
cfg->vncStateDir, (int)cfg->user,
|
||||
(int)cfg->group);
|
||||
goto error;
|
||||
}
|
||||
|
||||
run_uid = cfg->user;
|
||||
run_gid = cfg->group;
|
||||
|
||||
Reference in new issue
Block a user