]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu_conf: Track embed root dir
authorMichal Privoznik <mprivozn@redhat.com>
Wed, 11 Mar 2020 17:33:34 +0000 (18:33 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Wed, 18 Mar 2020 14:32:51 +0000 (15:32 +0100)
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>
src/qemu/qemu_conf.c
src/qemu/qemu_conf.h

index 17a6eb3422295d8652afc8a326ca2c42a499d898..d57ffdaeb595ccc92e80bf90b52cc21939f8e6f6 100644 (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);
index 3ce9566b7168463546abe73dd11fda17490bd361..82fea63fbc4df09a2f25edc289740c1c93bd98bd 100644 (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;