From: Peter Krempa Date: Tue, 26 Nov 2024 08:31:57 +0000 (+0100) Subject: qemuDomainVirStorageSourceFindByNodeName: Extract nodename matching X-Git-Tag: v10.10.0-rc2~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=71935d49726a7a5bd61d6c78e754944d38355073;p=thirdparty%2Flibvirt.git qemuDomainVirStorageSourceFindByNodeName: Extract nodename matching 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 Reviewed-by: Jiri Denemark --- diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index d28ff0cd22..150f0736f3 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -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; }