From 848378c64c0d245ecf8c0dfb18ebd4941614dc90 Mon Sep 17 00:00:00 2001 From: Martin Kletzander Date: Fri, 21 Jul 2017 13:47:05 +0200 Subject: [PATCH] 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: Martin Kletzander --- src/qemu/qemu_command.c | 30 +++++------------------------- src/qemu/qemu_process.c | 5 +++++ 2 files changed, 10 insertions(+), 25 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index e7a3c4289e..d1f5c36423 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -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); diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index a11d75b80f..0aecce3b1f 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -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); -- GitLab