conf: storage: Add support for validating storage vol XML to virStorageVolDefParse

Introduce the VIR_VOL_XML_PARSE_VALIDATE parser flag and wire it up into
the validator.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com>
This commit is contained in:
Peter Krempa 2022-10-18 13:47:31 +02:00
parent 295908688d
commit 563ef19f9b
2 changed files with 4 additions and 1 deletions

View File

@ -1407,9 +1407,10 @@ virStorageVolDefParse(virStoragePoolDef *pool,
{
g_autoptr(xmlDoc) xml = NULL;
g_autoptr(xmlXPathContext) ctxt = NULL;
bool validate = flags & VIR_VOL_XML_PARSE_VALIDATE;
if (!(xml = virXMLParse(filename, xmlStr, _("(storage_volume_definition)"),
"volume", &ctxt, NULL, false)))
"volume", &ctxt, "storagevol.rng", validate)))
return NULL;
return virStorageVolDefParseXML(pool, ctxt, flags);

View File

@ -284,6 +284,8 @@ typedef enum {
VIR_VOL_XML_PARSE_NO_CAPACITY = 1 << 0,
/* do not require volume capacity if the volume has a backing store */
VIR_VOL_XML_PARSE_OPT_CAPACITY = 1 << 1,
/* validate the XML against the RNG schema */
VIR_VOL_XML_PARSE_VALIDATE = 1 << 2,
} virStorageVolDefParseFlags;
virStorageVolDef *