提交 848378c6 编写于 作者: M Martin Kletzander

qemu: Split shmem preparation as it's supposed to be

Since the introduction of shmem, there was a split of preparation code
from the formatting code from qemuBuildCommandLine() into
qemuProcessPrepareDomain().  Let's fix shmem in this regard, so that
we can slowly get to a cleaner codebase.
Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
上级 19581afd
......@@ -8879,28 +8879,6 @@ qemuBuildShmemDevStr(virDomainDefPtr def,
return virBufferContentAndReset(&buf);
}
static char *
qemuBuildShmemBackendChrStr(virLogManagerPtr logManager,
virCommandPtr cmd,
virQEMUDriverConfigPtr cfg,
virDomainDefPtr def,
virDomainShmemDefPtr shmem,
virQEMUCapsPtr qemuCaps,
bool chardevStdioLogd)
{
char *devstr = NULL;
if (qemuDomainPrepareShmemChardev(shmem) < 0)
return NULL;
devstr = qemuBuildChrChardevStr(logManager, cmd, cfg, def,
&shmem->server.chr,
shmem->info.alias, qemuCaps, true,
chardevStdioLogd);
return devstr;
}
virJSONValuePtr
qemuBuildShmemBackendMemProps(virDomainShmemDefPtr shmem)
......@@ -9010,9 +8988,11 @@ qemuBuildShmemCommandLine(virLogManagerPtr logManager,
VIR_FREE(devstr);
if (shmem->server.enabled) {
if (!(devstr = qemuBuildShmemBackendChrStr(logManager, cmd, cfg, def,
shmem, qemuCaps,
chardevStdioLogd)))
devstr = qemuBuildChrChardevStr(logManager, cmd, cfg, def,
&shmem->server.chr,
shmem->info.alias, qemuCaps, true,
chardevStdioLogd);
if (!devstr)
return -1;
virCommandAddArgList(cmd, "-chardev", devstr, NULL);
......
......@@ -5325,6 +5325,11 @@ qemuProcessPrepareDomain(virConnectPtr conn,
if (qemuProcessUpdateGuestCPU(vm->def, priv->qemuCaps, caps, flags) < 0)
goto cleanup;
for (i = 0; i < vm->def->nshmems; i++) {
if (qemuDomainPrepareShmemChardev(vm->def->shmems[i]) < 0)
goto cleanup;
}
ret = 0;
cleanup:
virObjectUnref(caps);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册