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)
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);
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);