From: Martin Kletzander Date: Tue, 13 Sep 2016 11:40:50 +0000 (+0200) Subject: qemu: Abstract shmem socket path preparation X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=0f61d7b5f2b5d011b58386e7bf1a48f75a15e9d7;p=libvirt.git qemu: Abstract shmem socket path preparation Put it into qemuDomainPrepareShmemChardev() so it can be used later. Also don't fill in the path unless the server option is enabled. Signed-off-by: Martin Kletzander --- diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index ca178d90cd..15114c66da 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -8560,10 +8560,7 @@ qemuBuildShmemBackendStr(virLogManagerPtr logManager, { char *devstr = NULL; - if (!shmem->server.chr.data.nix.path && - virAsprintf(&shmem->server.chr.data.nix.path, - "/var/lib/libvirt/shmem-%s-sock", - shmem->name) < 0) + if (qemuDomainPrepareShmemChardev(shmem) < 0) return NULL; devstr = qemuBuildChrChardevStr(logManager, cmd, cfg, def, diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 3f16dbee2e..177525b0ab 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -6056,6 +6056,19 @@ qemuDomainPrepareChannel(virDomainChrDefPtr channel, } +int +qemuDomainPrepareShmemChardev(virDomainShmemDefPtr shmem) +{ + if (!shmem->server.enabled || + shmem->server.chr.data.nix.path) + return 0; + + return virAsprintf(&shmem->server.chr.data.nix.path, + "/var/lib/libvirt/shmem-%s-sock", + shmem->name); +} + + /** * qemuDomainVcpuHotplugIsInOrder: * @def: domain definition diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index a1404d0378..c2fab3ba35 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -722,6 +722,9 @@ int qemuDomainPrepareChannel(virDomainChrDefPtr chr, const char *domainChannelTargetDir) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2); +int qemuDomainPrepareShmemChardev(virDomainShmemDefPtr shmem) + ATTRIBUTE_NONNULL(1); + bool qemuDomainVcpuHotplugIsInOrder(virDomainDefPtr def) ATTRIBUTE_NONNULL(1);