mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
conf: disk: extract validation of startup policy
This commit is contained in:
parent
3fa8125f25
commit
888dda4b33
@ -6948,6 +6948,25 @@ virDomainDiskDefValidate(const virDomainDiskDef *def)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (def->startupPolicy != VIR_DOMAIN_STARTUP_POLICY_DEFAULT) {
|
||||||
|
if (def->src->type == VIR_STORAGE_TYPE_NETWORK) {
|
||||||
|
virReportError(VIR_ERR_XML_ERROR,
|
||||||
|
_("Setting disk %s is not allowed for "
|
||||||
|
"disk of network type"),
|
||||||
|
virDomainStartupPolicyTypeToString(def->startupPolicy));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (def->device != VIR_DOMAIN_DISK_DEVICE_CDROM &&
|
||||||
|
def->device != VIR_DOMAIN_DISK_DEVICE_FLOPPY &&
|
||||||
|
def->startupPolicy == VIR_DOMAIN_STARTUP_POLICY_REQUISITE) {
|
||||||
|
virReportError(VIR_ERR_XML_ERROR, "%s",
|
||||||
|
_("Setting disk 'requisite' is allowed only for "
|
||||||
|
"cdrom or floppy"));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -7456,23 +7475,6 @@ virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt,
|
|||||||
startupPolicy);
|
startupPolicy);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (def->src->type == VIR_STORAGE_TYPE_NETWORK) {
|
|
||||||
virReportError(VIR_ERR_XML_ERROR,
|
|
||||||
_("Setting disk %s is not allowed for "
|
|
||||||
"disk of network type"),
|
|
||||||
startupPolicy);
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (def->device != VIR_DOMAIN_DISK_DEVICE_CDROM &&
|
|
||||||
def->device != VIR_DOMAIN_DISK_DEVICE_FLOPPY &&
|
|
||||||
val == VIR_DOMAIN_STARTUP_POLICY_REQUISITE) {
|
|
||||||
virReportError(VIR_ERR_XML_ERROR, "%s",
|
|
||||||
_("Setting disk 'requisite' is allowed only for "
|
|
||||||
"cdrom or floppy"));
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
def->startupPolicy = val;
|
def->startupPolicy = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user