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@xxxxxxxxxx> --- 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