1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-07 17:28:15 +00:00

qemu_alias: introduce qemuDomainGetVhostUserAlias helper

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
Pavel Hrdina 2021-02-01 11:59:03 +01:00
parent 6a40c01ed0
commit 6799cc3ada
3 changed files with 13 additions and 3 deletions

View File

@ -868,3 +868,9 @@ qemuDomainGetDBusVMStateAlias(void)
{ {
return "dbus-vmstate0"; return "dbus-vmstate0";
} }
char *
qemuDomainGetVhostUserChrAlias(const char *devalias)
{
return g_strdup_printf("chr-vu-%s", devalias);
}

View File

@ -97,3 +97,5 @@ const char *qemuDomainGetManagedPRAlias(void);
char *qemuDomainGetUnmanagedPRAlias(const char *parentalias); char *qemuDomainGetUnmanagedPRAlias(const char *parentalias);
const char *qemuDomainGetDBusVMStateAlias(void); const char *qemuDomainGetDBusVMStateAlias(void);
char *qemuDomainGetVhostUserChrAlias(const char *devalias);

View File

@ -2174,7 +2174,7 @@ qemuBuildVHostUserFsCommandLine(virCommandPtr cmd,
g_autofree char *chardev_alias = NULL; g_autofree char *chardev_alias = NULL;
g_auto(virBuffer) opt = VIR_BUFFER_INITIALIZER; g_auto(virBuffer) opt = VIR_BUFFER_INITIALIZER;
chardev_alias = g_strdup_printf("chr-vu-%s", fs->info.alias); chardev_alias = qemuDomainGetVhostUserChrAlias(fs->info.alias);
virCommandAddArg(cmd, "-chardev"); virCommandAddArg(cmd, "-chardev");
virBufferAddLit(&opt, "socket"); virBufferAddLit(&opt, "socket");
@ -4168,9 +4168,10 @@ qemuBuildDeviceVideoStr(const virDomainDef *def,
virBufferAsprintf(&buf, ",max_outputs=%u", video->heads); virBufferAsprintf(&buf, ",max_outputs=%u", video->heads);
} }
} else if (video->backend == VIR_DOMAIN_VIDEO_BACKEND_TYPE_VHOSTUSER) { } else if (video->backend == VIR_DOMAIN_VIDEO_BACKEND_TYPE_VHOSTUSER) {
g_autofree char *alias = qemuDomainGetVhostUserChrAlias(video->info.alias);
if (video->heads) if (video->heads)
virBufferAsprintf(&buf, ",max_outputs=%u", video->heads); virBufferAsprintf(&buf, ",max_outputs=%u", video->heads);
virBufferAsprintf(&buf, ",chardev=chr-vu-%s", video->info.alias); virBufferAsprintf(&buf, ",chardev=%s", alias);
} else if (video->type == VIR_DOMAIN_VIDEO_TYPE_VIRTIO) { } else if (video->type == VIR_DOMAIN_VIDEO_TYPE_VIRTIO) {
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_GPU_MAX_OUTPUTS)) { if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_GPU_MAX_OUTPUTS)) {
if (video->heads) if (video->heads)
@ -4290,6 +4291,7 @@ qemuBuildVhostUserChardevStr(const char *alias,
int *fd, int *fd,
virCommandPtr cmd) virCommandPtr cmd)
{ {
g_autofree char *chardev_alias = qemuDomainGetVhostUserChrAlias(alias);
char *chardev = NULL; char *chardev = NULL;
if (*fd == -1) { if (*fd == -1) {
@ -4298,7 +4300,7 @@ qemuBuildVhostUserChardevStr(const char *alias,
return NULL; return NULL;
} }
chardev = g_strdup_printf("socket,id=chr-vu-%s,fd=%d", alias, *fd); chardev = g_strdup_printf("socket,id=%s,fd=%d", chardev_alias, *fd);
virCommandPassFD(cmd, *fd, VIR_COMMAND_PASS_FD_CLOSE_PARENT); virCommandPassFD(cmd, *fd, VIR_COMMAND_PASS_FD_CLOSE_PARENT);
*fd = -1; *fd = -1;