diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 7f4f165056..ee9d8b2d3e 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -13637,12 +13637,14 @@ virDomainShmemDefParseXML(virDomainXMLOption *xmlopt, if (def->model != VIR_DOMAIN_SHMEM_MODEL_IVSHMEM) { tmp = virXMLPropString(node, "role"); if (tmp) { - if ((def->role = virDomainShmemRoleTypeFromString(tmp)) <= 0) { + int role; + if ((role = virDomainShmemRoleTypeFromString(tmp)) <= 0) { virReportError(VIR_ERR_XML_ERROR, _("Unknown shmem role type '%s'"), tmp); goto cleanup; } + def->role = role; VIR_FREE(tmp); } } diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 7120503d77..1b028dbcf7 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -1956,7 +1956,7 @@ struct _virDomainShmemDef { char *name; unsigned long long size; virDomainShmemModel model; - int role; /* enum virDomainShmemRole */ + virDomainShmemRole role; struct { bool enabled; virDomainChrSourceDef chr; diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 455dd72cf8..d6c5308ef0 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -9003,7 +9003,7 @@ qemuBuildShmemDevStr(virDomainDef *def, } else { virBufferAsprintf(&buf, ",memdev=shmmem-%s", shmem->info.alias); - switch ((virDomainShmemRole) shmem->role) { + switch (shmem->role) { case VIR_DOMAIN_SHMEM_ROLE_MASTER: virBufferAddLit(&buf, ",master=on"); break;