From: Kristina Hanicova Date: Tue, 24 Aug 2021 14:51:11 +0000 (+0200) Subject: virsh: add support for '--validate' option in define storage pool X-Git-Tag: v7.7.0-rc1~34 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5ca09c6b2728aae75c7c9e8308c43bb7313af7c2;p=thirdparty%2Flibvirt.git virsh: add support for '--validate' option in define storage pool Signed-off-by: Kristina Hanicova Reviewed-by: Michal Privoznik --- diff --git a/docs/manpages/virsh.rst b/docs/manpages/virsh.rst index 850a862fd9..2204bed3bb 100644 --- a/docs/manpages/virsh.rst +++ b/docs/manpages/virsh.rst @@ -5958,10 +5958,12 @@ pool-define :: - pool-define file + pool-define file [--validate] Define an inactive persistent storage pool or modify an existing persistent one from the XML *file*. +Optionally, the format of the input XML file can be validated against an +internal RNG schema with *--validate*. pool-define-as diff --git a/tools/virsh-pool.c b/tools/virsh-pool.c index f0ee95bdf8..1a2ab8cc53 100644 --- a/tools/virsh-pool.c +++ b/tools/virsh-pool.c @@ -520,7 +520,10 @@ static const vshCmdInfo info_pool_define[] = { static const vshCmdOptDef opts_pool_define[] = { VIRSH_COMMON_OPT_FILE(N_("file containing an XML pool description")), - + {.name = "validate", + .type = VSH_OT_BOOL, + .help = N_("validate the XML against the schema") + }, {.name = NULL} }; @@ -531,15 +534,19 @@ cmdPoolDefine(vshControl *ctl, const vshCmd *cmd) const char *from = NULL; bool ret = true; g_autofree char *buffer = NULL; + unsigned int flags = 0; virshControl *priv = ctl->privData; if (vshCommandOptStringReq(ctl, cmd, "file", &from) < 0) return false; + if (vshCommandOptBool(cmd, "validate")) + flags |= VIR_STORAGE_POOL_DEFINE_VALIDATE; + if (virFileReadAll(from, VSH_MAX_XML_FILE, &buffer) < 0) return false; - pool = virStoragePoolDefineXML(priv->conn, buffer, 0); + pool = virStoragePoolDefineXML(priv->conn, buffer, flags); if (pool != NULL) { vshPrintExtra(ctl, _("Pool %s defined from %s\n"),