domain_conf.c: move QXL attributes check to virDomainVideoDefValidate()

These checks are not related to XML parsing and can be moved to the
validate callback. Errors were changed from VIR_ERR_XML_ERROR to
VIR_ERR_CONFIG_UNSUPPORTED.

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
This commit is contained in:
Daniel Henrique Barboza 2020-12-02 17:36:28 -03:00
parent 212c58b20e
commit b628416399
2 changed files with 20 additions and 15 deletions

View File

@ -16137,11 +16137,6 @@ virDomainVideoDefParseXML(virDomainXMLOptionPtr xmlopt,
} }
if (ram) { if (ram) {
if (def->type != VIR_DOMAIN_VIDEO_TYPE_QXL) {
virReportError(VIR_ERR_XML_ERROR, "%s",
_("ram attribute only supported for type of qxl"));
return NULL;
}
if (virStrToLong_uip(ram, NULL, 10, &def->ram) < 0) { if (virStrToLong_uip(ram, NULL, 10, &def->ram) < 0) {
virReportError(VIR_ERR_XML_ERROR, virReportError(VIR_ERR_XML_ERROR,
_("cannot parse video ram '%s'"), ram); _("cannot parse video ram '%s'"), ram);
@ -16158,11 +16153,6 @@ virDomainVideoDefParseXML(virDomainXMLOptionPtr xmlopt,
} }
if (vram64) { if (vram64) {
if (def->type != VIR_DOMAIN_VIDEO_TYPE_QXL) {
virReportError(VIR_ERR_XML_ERROR, "%s",
_("vram64 attribute only supported for type of qxl"));
return NULL;
}
if (virStrToLong_uip(vram64, NULL, 10, &def->vram64) < 0) { if (virStrToLong_uip(vram64, NULL, 10, &def->vram64) < 0) {
virReportError(VIR_ERR_XML_ERROR, virReportError(VIR_ERR_XML_ERROR,
_("cannot parse video vram64 '%s'"), vram64); _("cannot parse video vram64 '%s'"), vram64);
@ -16171,11 +16161,6 @@ virDomainVideoDefParseXML(virDomainXMLOptionPtr xmlopt,
} }
if (vgamem) { if (vgamem) {
if (def->type != VIR_DOMAIN_VIDEO_TYPE_QXL) {
virReportError(VIR_ERR_XML_ERROR, "%s",
_("vgamem attribute only supported for type of qxl"));
return NULL;
}
if (virStrToLong_uip(vgamem, NULL, 10, &def->vgamem) < 0) { if (virStrToLong_uip(vgamem, NULL, 10, &def->vgamem) < 0) {
virReportError(VIR_ERR_XML_ERROR, virReportError(VIR_ERR_XML_ERROR,
_("cannot parse video vgamem '%s'"), vgamem); _("cannot parse video vgamem '%s'"), vgamem);

View File

@ -128,5 +128,25 @@ virDomainVideoDefValidate(const virDomainVideoDef *video,
return -1; return -1;
} }
if (video->type != VIR_DOMAIN_VIDEO_TYPE_QXL) {
if (video->ram != 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("ram attribute only supported for video type qxl"));
return -1;
}
if (video->vram64 != 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("vram64 attribute only supported for video type qxl"));
return -1;
}
if (video->vgamem != 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("vgamem attribute only supported for video type qxl"));
return -1;
}
}
return 0; return 0;
} }