diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 318f52331655002ba6dc10e5e50969c81b5f4dad..85ef71b9f40cf50ffcf95ca0e202ba46c0200e72 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -1508,14 +1508,16 @@ int virDomainDeviceVirtioSerialAddressIsValid( } -static int +static bool virDomainDeviceInfoIsSet(virDomainDeviceInfoPtr info, unsigned int flags) { if (info->type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) - return 1; + return true; if (info->alias && !(flags & VIR_DOMAIN_XML_INACTIVE)) - return 1; - return 0; + return true; + if (info->mastertype != VIR_DOMAIN_CONTROLLER_MASTER_NONE) + return true; + return false; } diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index f4a38fbf3af912c16ca2d1e1d1b5d3d1ffb136c3..f2cd8eb80091c1cbc440341c3ceddd30526f7676 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -138,6 +138,10 @@ struct _virDomainDeviceUSBMaster { typedef struct _virDomainDeviceInfo virDomainDeviceInfo; typedef virDomainDeviceInfo *virDomainDeviceInfoPtr; struct _virDomainDeviceInfo { + /* If adding to this struct, ensure that + * virDomainDeviceInfoIsSet() is updated + * to consider the new fields + */ char *alias; int type; union {