diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index e7a3c4289e8233e74d897d1fd621e9c273817992..d1f5c3642309ecfdccf058a8460733a669181c59 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 a11d75b80fb018da777fa013a1c5c0762568ac19..0aecce3b1fea306ae3e2b5560fc7f55dcb7ce176 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);