]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemuDomainVirStorageSourceFindByNodeName: Extract nodename matching
authorPeter Krempa <pkrempa@redhat.com>
Tue, 26 Nov 2024 08:31:57 +0000 (09:31 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 28 Nov 2024 09:27:56 +0000 (10:27 +0100)
Extract the matching of the node name of a single virStorage source so
that the logic can be reused in the upcoming patch.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
src/qemu/qemu_domain.c

index d28ff0cd2207868f8359b3c3598f8da8711d3b44..150f0736f3f6348556201ceff51d194c0b3f70f1 100644 (file)
@@ -2884,6 +2884,25 @@ qemuDomainObjPrivateXMLParseBlockjobChain(xmlNodePtr node,
 }
 
 
+/**
+ * qemuDomainVirStorageSourceMatchNodename:
+ * @src: storage source to match
+ * @nodeName to match
+ *
+ * Returns true if any of the nodenames of @src matches @nodeName.
+ */
+static bool
+qemuDomainVirStorageSourceMatchNodename(virStorageSource *src,
+                                        const char *nodeName)
+{
+    const char *nodestorage = qemuBlockStorageSourceGetStorageNodename(src);
+    const char *nodeformat = qemuBlockStorageSourceGetFormatNodename(src);
+
+    return (nodeformat && STREQ(nodeformat, nodeName)) ||
+           (nodestorage && STREQ(nodestorage, nodeName));
+}
+
+
 /**
  * qemuDomainVirStorageSourceFindByNodeName:
  * @top: backing chain top
@@ -2900,11 +2919,7 @@ qemuDomainVirStorageSourceFindByNodeName(virStorageSource *top,
     virStorageSource *tmp;
 
     for (tmp = top; virStorageSourceIsBacking(tmp); tmp = tmp->backingStore) {
-        const char *nodestorage = qemuBlockStorageSourceGetStorageNodename(tmp);
-        const char *nodeformat = qemuBlockStorageSourceGetFormatNodename(tmp);
-
-        if ((nodeformat && STREQ(nodeformat, nodeName)) ||
-            (nodestorage && STREQ(nodestorage, nodeName)))
+        if (qemuDomainVirStorageSourceMatchNodename(tmp, nodeName))
             return tmp;
     }