]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
nodedev|test: Implement support for validating node device XMLs
authorPeter Krempa <pkrempa@redhat.com>
Tue, 18 Oct 2022 11:41:04 +0000 (13:41 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 1 Nov 2022 12:07:20 +0000 (13:07 +0100)
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com>
src/node_device/node_device_driver.c
src/test/test_driver.c

index 73a7d641459dda716176dc1614ea105d4d21e3ce..355ab31745281bd36a9943b3ab51315f89b2eec6 100644 (file)
@@ -879,8 +879,9 @@ nodeDeviceCreateXML(virConnectPtr conn,
     g_autofree char *wwpn = NULL;
     virNodeDevicePtr device = NULL;
     const char *virt_type = NULL;
+    bool validate = flags & VIR_NODE_DEVICE_CREATE_XML_VALIDATE;
 
-    virCheckFlags(0, NULL);
+    virCheckFlags(VIR_NODE_DEVICE_CREATE_XML_VALIDATE, NULL);
 
     if (nodeDeviceInitWait() < 0)
         return NULL;
@@ -888,7 +889,7 @@ nodeDeviceCreateXML(virConnectPtr conn,
     virt_type  = virConnectGetType(conn);
 
     if (!(def = virNodeDeviceDefParse(xmlDesc, NULL, CREATE_DEVICE, virt_type,
-                                      &driver->parserCallbacks, NULL, false)))
+                                      &driver->parserCallbacks, NULL, validate)))
         return NULL;
 
     if (virNodeDeviceCreateXMLEnsureACL(conn, def) < 0)
@@ -1400,8 +1401,9 @@ nodeDeviceDefineXML(virConnect *conn,
     const char *virt_type = NULL;
     g_autofree char *uuid = NULL;
     g_autofree char *name = NULL;
+    bool validate = flags & VIR_NODE_DEVICE_DEFINE_XML_VALIDATE;
 
-    virCheckFlags(0, NULL);
+    virCheckFlags(VIR_NODE_DEVICE_DEFINE_XML_VALIDATE, NULL);
 
     if (nodeDeviceInitWait() < 0)
         return NULL;
@@ -1409,7 +1411,7 @@ nodeDeviceDefineXML(virConnect *conn,
     virt_type  = virConnectGetType(conn);
 
     if (!(def = virNodeDeviceDefParse(xmlDesc, NULL, CREATE_DEVICE, virt_type,
-                                      &driver->parserCallbacks, NULL, false)))
+                                      &driver->parserCallbacks, NULL, validate)))
         return NULL;
 
     if (virNodeDeviceDefineXMLEnsureACL(conn, def) < 0)
index 9b397e66b1460d633d2c0449323383d975b44055..58c2a0256180ffdff662fa7267cf2a38eb0f3294 100644 (file)
@@ -7688,10 +7688,12 @@ testNodeDeviceCreateXML(virConnectPtr conn,
     virNodeDeviceDef *objdef;
     g_autofree char *wwnn = NULL;
     g_autofree char *wwpn = NULL;
+    bool validate = flags & VIR_NODE_DEVICE_CREATE_XML_VALIDATE;
 
-    virCheckFlags(0, NULL);
+    virCheckFlags(VIR_NODE_DEVICE_CREATE_XML_VALIDATE, NULL);
 
-    if (!(def = virNodeDeviceDefParse(xmlDesc, NULL, CREATE_DEVICE, NULL, NULL, NULL, false)))
+    if (!(def = virNodeDeviceDefParse(xmlDesc, NULL, CREATE_DEVICE, NULL, NULL,
+                                      NULL, validate)))
         goto cleanup;
 
     /* We run this simply for validation - it essentially validates that