mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-11 09:17:52 +03:00
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:
parent
295908688d
commit
563ef19f9b
@ -1407,9 +1407,10 @@ virStorageVolDefParse(virStoragePoolDef *pool,
|
|||||||
{
|
{
|
||||||
g_autoptr(xmlDoc) xml = NULL;
|
g_autoptr(xmlDoc) xml = NULL;
|
||||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||||
|
bool validate = flags & VIR_VOL_XML_PARSE_VALIDATE;
|
||||||
|
|
||||||
if (!(xml = virXMLParse(filename, xmlStr, _("(storage_volume_definition)"),
|
if (!(xml = virXMLParse(filename, xmlStr, _("(storage_volume_definition)"),
|
||||||
"volume", &ctxt, NULL, false)))
|
"volume", &ctxt, "storagevol.rng", validate)))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
return virStorageVolDefParseXML(pool, ctxt, flags);
|
return virStorageVolDefParseXML(pool, ctxt, flags);
|
||||||
|
@ -284,6 +284,8 @@ typedef enum {
|
|||||||
VIR_VOL_XML_PARSE_NO_CAPACITY = 1 << 0,
|
VIR_VOL_XML_PARSE_NO_CAPACITY = 1 << 0,
|
||||||
/* do not require volume capacity if the volume has a backing store */
|
/* do not require volume capacity if the volume has a backing store */
|
||||||
VIR_VOL_XML_PARSE_OPT_CAPACITY = 1 << 1,
|
VIR_VOL_XML_PARSE_OPT_CAPACITY = 1 << 1,
|
||||||
|
/* validate the XML against the RNG schema */
|
||||||
|
VIR_VOL_XML_PARSE_VALIDATE = 1 << 2,
|
||||||
} virStorageVolDefParseFlags;
|
} virStorageVolDefParseFlags;
|
||||||
|
|
||||||
virStorageVolDef *
|
virStorageVolDef *
|
||||||
|
Loading…
Reference in New Issue
Block a user