mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
conf: domain: Convert virDomainDiskDef's 'removable' to virTristateSwitch
Use the appropriate type for the variable and refactor the XML parser to parse it correctly using virXMLPropEnum. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
61fd7174c2
commit
35efc9b535
@ -9319,7 +9319,6 @@ virDomainDiskDefParseXML(virDomainXMLOption *xmlopt,
|
|||||||
g_autofree char *target = NULL;
|
g_autofree char *target = NULL;
|
||||||
g_autofree char *bus = NULL;
|
g_autofree char *bus = NULL;
|
||||||
g_autofree char *serial = NULL;
|
g_autofree char *serial = NULL;
|
||||||
g_autofree char *removable = NULL;
|
|
||||||
g_autofree char *logical_block_size = NULL;
|
g_autofree char *logical_block_size = NULL;
|
||||||
g_autofree char *physical_block_size = NULL;
|
g_autofree char *physical_block_size = NULL;
|
||||||
g_autofree char *wwn = NULL;
|
g_autofree char *wwn = NULL;
|
||||||
@ -9381,7 +9380,11 @@ virDomainDiskDefParseXML(virDomainXMLOption *xmlopt,
|
|||||||
if (virXMLPropEnum(cur, "tray", virDomainDiskTrayTypeFromString,
|
if (virXMLPropEnum(cur, "tray", virDomainDiskTrayTypeFromString,
|
||||||
VIR_XML_PROP_OPTIONAL, &def->tray_status) < 0)
|
VIR_XML_PROP_OPTIONAL, &def->tray_status) < 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
removable = virXMLPropString(cur, "removable");
|
|
||||||
|
if (virXMLPropTristateSwitch(cur, "removable", VIR_XML_PROP_OPTIONAL,
|
||||||
|
&def->removable) < 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
rotation_rate = virXMLPropString(cur, "rotation_rate");
|
rotation_rate = virXMLPropString(cur, "rotation_rate");
|
||||||
} else if (!domain_name &&
|
} else if (!domain_name &&
|
||||||
virXMLNodeNameEqual(cur, "backenddomain")) {
|
virXMLNodeNameEqual(cur, "backenddomain")) {
|
||||||
@ -9495,14 +9498,6 @@ virDomainDiskDefParseXML(virDomainXMLOption *xmlopt,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (removable) {
|
|
||||||
if ((def->removable = virTristateSwitchTypeFromString(removable)) < 0) {
|
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
|
||||||
_("unknown disk removable status '%s'"), removable);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (rotation_rate &&
|
if (rotation_rate &&
|
||||||
virStrToLong_ui(rotation_rate, NULL, 10, &def->rotation_rate) < 0) {
|
virStrToLong_ui(rotation_rate, NULL, 10, &def->rotation_rate) < 0) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
|
@ -539,7 +539,7 @@ struct _virDomainDiskDef {
|
|||||||
int bus; /* enum virDomainDiskBus */
|
int bus; /* enum virDomainDiskBus */
|
||||||
char *dst;
|
char *dst;
|
||||||
virDomainDiskTray tray_status;
|
virDomainDiskTray tray_status;
|
||||||
int removable; /* enum virTristateSwitch */
|
virTristateSwitch removable;
|
||||||
unsigned int rotation_rate;
|
unsigned int rotation_rate;
|
||||||
|
|
||||||
virStorageSource *mirror;
|
virStorageSource *mirror;
|
||||||
|
Loading…
Reference in New Issue
Block a user