diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c index eee5b36f83..66419616da 100644 --- a/src/conf/storage_conf.c +++ b/src/conf/storage_conf.c @@ -614,14 +614,15 @@ virStoragePoolDefParseSource(xmlXPathContextPtr ctxt, partsep = virXMLPropString(nodeset[i], "part_separator"); if (partsep) { - dev.part_separator = virTristateBoolTypeFromString(partsep); - if (dev.part_separator <= 0) { + int value = virTristateBoolTypeFromString(partsep); + if (value <= 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("invalid part_separator setting '%s'"), partsep); virStoragePoolSourceDeviceClear(&dev); goto cleanup; } + dev.part_separator = value; } if (VIR_APPEND_ELEMENT(source->devices, source->ndevice, dev) < 0) { @@ -1094,7 +1095,7 @@ virStoragePoolSourceFormat(virBuffer *buf, virBufferEscapeString(buf, "devices[i].path); if (src->devices[i].part_separator != - VIR_TRISTATE_SWITCH_ABSENT) { + VIR_TRISTATE_BOOL_ABSENT) { virBufferAsprintf(buf, " part_separator='%s'", virTristateBoolTypeToString(src->devices[i].part_separator)); } diff --git a/src/conf/storage_conf.h b/src/conf/storage_conf.h index f083b41693..345026aa37 100644 --- a/src/conf/storage_conf.h +++ b/src/conf/storage_conf.h @@ -161,7 +161,7 @@ struct _virStoragePoolSourceDevice { virStoragePoolSourceDeviceExtent *freeExtents; char *path; int format; /* Pool specific source format */ - int part_separator; /* enum virTristateSwitch */ + virTristateBool part_separator; /* When the source device is a physical disk, * the geometry data is needed