]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: add socket for virtiofs filesystems
authorJán Tomko <jtomko@redhat.com>
Sat, 13 Feb 2021 12:22:56 +0000 (13:22 +0100)
committerJán Tomko <jtomko@redhat.com>
Wed, 21 Apr 2021 13:48:01 +0000 (15:48 +0200)
Copy the socket path in qemuExtDevicesStart, because
for libvirt-managed virtiofsd daemons the path is filled there
in qemuVirtioFSStart.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/qemu/qemu_extdevice.c

index ecf097feb996a56681dadc77c0ac57ffc2b793e5..98b546fc73b94e30c7b3f8b8f028e99298ef9d81 100644 (file)
@@ -197,7 +197,9 @@ qemuExtDevicesStart(virQEMUDriver *driver,
         virDomainFSDef *fs = def->fss[i];
 
         if (fs->fsdriver == VIR_DOMAIN_FS_DRIVER_TYPE_VIRTIOFS) {
-            if (qemuVirtioFSStart(logManager, driver, vm, fs) < 0)
+            if (fs->sock)
+                QEMU_DOMAIN_FS_PRIVATE(fs)->vhostuser_fs_sock = g_strdup(fs->sock);
+            else if (qemuVirtioFSStart(logManager, driver, vm, fs) < 0)
                 return -1;
         }
     }
@@ -240,7 +242,8 @@ qemuExtDevicesStop(virQEMUDriver *driver,
     for (i = 0; i < def->nfss; i++) {
         virDomainFSDef *fs = def->fss[i];
 
-        if (fs->fsdriver == VIR_DOMAIN_FS_DRIVER_TYPE_VIRTIOFS)
+        if (!fs->sock &&
+            fs->fsdriver == VIR_DOMAIN_FS_DRIVER_TYPE_VIRTIOFS)
             qemuVirtioFSStop(driver, vm, fs);
     }
 }
@@ -306,7 +309,8 @@ qemuExtDevicesSetupCgroup(virQEMUDriver *driver,
     for (i = 0; i < def->nfss; i++) {
         virDomainFSDef *fs = def->fss[i];
 
-        if (fs->fsdriver == VIR_DOMAIN_FS_DRIVER_TYPE_VIRTIOFS &&
+        if (!fs->sock &&
+            fs->fsdriver == VIR_DOMAIN_FS_DRIVER_TYPE_VIRTIOFS &&
             qemuVirtioFSSetupCgroup(vm, fs, cgroup) < 0)
             return -1;
     }