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(a)redhat.com>
---
src/qemu/qemu_extdevice.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/qemu/qemu_extdevice.c b/src/qemu/qemu_extdevice.c
index fdba22616c..a9dad16a8f 100644
--- a/src/qemu/qemu_extdevice.c
+++ b/src/qemu/qemu_extdevice.c
@@ -197,7 +197,9 @@ qemuExtDevicesStart(virQEMUDriverPtr driver,
virDomainFSDefPtr 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(virQEMUDriverPtr driver,
for (i = 0; i < def->nfss; i++) {
virDomainFSDefPtr 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(virQEMUDriverPtr driver,
for (i = 0; i < def->nfss; i++) {
virDomainFSDefPtr 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;
}
--
2.29.2