VIR_ENUM_IMPL(virDomainHPTResizing,
VIR_DOMAIN_HPT_RESIZING_LAST,
+ "none",
"enabled",
"disabled",
"required",
tmp = virXMLPropString(nodes[i], "resizing");
if (tmp) {
int value = virDomainHPTResizingTypeFromString(tmp);
- if (value < 0) {
+ if (value < 0 || value == VIR_DOMAIN_HPT_RESIZING_NONE) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("Unknown HPT resizing setting: %s"),
tmp);
goto error;
}
- def->hpt_resizing = value;
- def->features[val] = VIR_TRISTATE_SWITCH_ON;
+ def->features[val] = value;
VIR_FREE(tmp);
}
break;
break;
case VIR_DOMAIN_FEATURE_HPT:
- if (src->features[i] != dst->features[i] ||
- src->hpt_resizing != dst->hpt_resizing) {
+ if (src->features[i] != dst->features[i]) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("State of feature '%s' differs: "
- "source: '%s,%s=%s', destination: '%s,%s=%s'"),
+ "source: '%s=%s', destination: '%s=%s'"),
featureName,
- virTristateSwitchTypeToString(src->features[i]),
- "resizing", virDomainHPTResizingTypeToString(src->hpt_resizing),
- virTristateSwitchTypeToString(dst->features[i]),
- "resizing", virDomainHPTResizingTypeToString(dst->hpt_resizing));
+ "resizing", virDomainHPTResizingTypeToString(src->features[i]),
+ "resizing", virDomainHPTResizingTypeToString(dst->features[i]));
return false;
}
break;
break;
case VIR_DOMAIN_FEATURE_HPT:
- if (def->features[i] == VIR_TRISTATE_SWITCH_ON) {
- virBufferAsprintf(buf, "<hpt resizing='%s'/>\n",
- virDomainHPTResizingTypeToString(def->hpt_resizing));
- }
+ if (def->features[i] == VIR_DOMAIN_HPT_RESIZING_NONE)
+ break;
+
+ virBufferAsprintf(buf, "<hpt resizing='%s'/>\n",
+ virDomainHPTResizingTypeToString(def->features[i]));
break;
/* coverity[dead_error_begin] */
VIR_ENUM_DECL(virDomainIOAPIC);
typedef enum {
- VIR_DOMAIN_HPT_RESIZING_ENABLED = 0,
+ VIR_DOMAIN_HPT_RESIZING_NONE = 0,
+ VIR_DOMAIN_HPT_RESIZING_ENABLED,
VIR_DOMAIN_HPT_RESIZING_DISABLED,
VIR_DOMAIN_HPT_RESIZING_REQUIRED,
unsigned int hyperv_spinlocks;
virGICVersion gic_version;
char *hyperv_vendor_id;
- virDomainHPTResizing hpt_resizing;
int apic_eoi;
virDomainClockDef clock;
}
}
- if (def->features[VIR_DOMAIN_FEATURE_HPT] == VIR_TRISTATE_SWITCH_ON) {
+ if (def->features[VIR_DOMAIN_FEATURE_HPT] != VIR_DOMAIN_HPT_RESIZING_NONE) {
const char *str;
if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_MACHINE_PSERIES_RESIZE_HPT)) {
goto cleanup;
}
- str = virDomainHPTResizingTypeToString(def->hpt_resizing);
+ str = virDomainHPTResizingTypeToString(def->features[VIR_DOMAIN_FEATURE_HPT]);
if (!str) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("Invalid setting for HPT resizing"));