qemu_conf: Track embed root dir

When initializing virQEMUDriverConfig structure we are given the
root directory for possible embed connection. Save it for future
use. While we could get it later from @uri member, it's not as
easy as dereferencing a pointer (virURIParse() +
virURIGetParam() + error reporting).

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
This commit is contained in:
Michal Privoznik 2020-03-11 18:33:34 +01:00
parent ac36a82464
commit 06a19921b6
2 changed files with 4 additions and 0 deletions

View File

@ -115,6 +115,7 @@ virQEMUDriverConfigPtr virQEMUDriverConfigNew(bool privileged,
if (root) {
cfg->uri = g_strdup_printf("qemu:///embed?root=%s", root);
cfg->root = g_strdup(root);
} else {
cfg->uri = g_strdup(privileged ? "qemu:///system" : "qemu:///session");
}
@ -299,6 +300,7 @@ static void virQEMUDriverConfigDispose(void *obj)
virStringListFree(cfg->cgroupDeviceACL);
VIR_FREE(cfg->uri);
VIR_FREE(cfg->root);
VIR_FREE(cfg->configBaseDir);
VIR_FREE(cfg->configDir);

View File

@ -76,6 +76,8 @@ struct _virQEMUDriverConfig {
virObject parent;
char *uri;
char *root; /* The root directory for embed driver,
NULL for system/session connections */
uid_t user;
gid_t group;