From nobody Sun Feb 8 21:29:33 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1611257698; cv=none; d=zohomail.com; s=zohoarc; b=M5HZQFFskDwQ57HHOHjCUBfXfZYJb/oHOmBwJ08fZ99Xqyv6Ai0q7i7eCnPttbLlEzq3Q9SIkCnwp7QJPRtPxJQBm5CMEKSxrNg4J1zmDMPmEW2jxp7r66IQmwSwFOvgoYz0Uf3qGYVutpyo2aV+im1YoBHIPVmYF9FACt+2ZxI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1611257698; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=9REDTz7ZVx5ACs4J5pKa5IiX8O2nMTX9JXeCnn0B3UU=; b=UcLFyDGhHAVbKkGAE6PQK+iIeKvdi5vfRhJm/RU4GwHbBTvwESpqLvQQw3EcUhIZkHNSEF+NnAm/wJCZgg2LWqgKHFYu1vfSGiKrHxhWGUMjuGT2kEydMaL9e71y0gUaw0G/8IWfC6BPa385SnC3hmYVYxSSaxSvsjsQ2CLkgu8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1611257698373116.86962970485251; Thu, 21 Jan 2021 11:34:58 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-170-oXB_aWr2O7a35Jqf-Hhy_g-1; Thu, 21 Jan 2021 14:34:54 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 0517910766BD; Thu, 21 Jan 2021 19:34:46 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D2E0C5D9DD; Thu, 21 Jan 2021 19:34:45 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 98B565002E; Thu, 21 Jan 2021 19:34:45 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 10LJYc9w023185 for ; Thu, 21 Jan 2021 14:34:38 -0500 Received: by smtp.corp.redhat.com (Postfix) id E878C10023AE; Thu, 21 Jan 2021 19:34:38 +0000 (UTC) Received: from antique-laptop.redhat.com (unknown [10.40.208.8]) by smtp.corp.redhat.com (Postfix) with ESMTP id 586FE10021AA for ; Thu, 21 Jan 2021 19:34:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1611257697; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=9REDTz7ZVx5ACs4J5pKa5IiX8O2nMTX9JXeCnn0B3UU=; b=KBVu+Hn6X6+vdVEmfJRYDOE9GXBJDApHSKpahHcC88dIBUe6B/jvRMMDdOYzB4G9EniNOW /HClV//wulyAXlSaixyropBKroTnZlbejB9YLIV1d6RDq5keAMYxqBoC3CvRUWG/bzF13e C354/isodb238IfaHkZlxM73PX2XZPI= X-MC-Unique: oXB_aWr2O7a35Jqf-Hhy_g-1 From: Pavel Hrdina To: libvir-list@redhat.com Subject: [libvirt PATCH v2 05/13] util: move virStorageSourceFindByNodeName into qemu_domain Date: Thu, 21 Jan 2021 20:34:19 +0100 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" It's only relevant for QEMU driver. Signed-off-by: Pavel Hrdina Reviewed-by: Peter Krempa --- src/libvirt_private.syms | 1 - src/qemu/qemu_domain.c | 38 ++++++++++++++++++++++++++++++++------ src/util/virstoragefile.c | 25 ------------------------- src/util/virstoragefile.h | 5 ----- 4 files changed, 32 insertions(+), 37 deletions(-) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index c325040b60..84b650cb86 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -3175,7 +3175,6 @@ virStorageSourceChainHasManagedPR; virStorageSourceChainHasNVMe; virStorageSourceClear; virStorageSourceCopy; -virStorageSourceFindByNodeName; virStorageSourceGetActualType; virStorageSourceGetSecurityLabelDef; virStorageSourceHasBacking; diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index dd79cfd9d9..966608882f 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -2582,6 +2582,32 @@ qemuDomainObjPrivateXMLParseBlockjobChain(xmlNodePtr= node, } =20 =20 +/** + * qemuDomainVirStorageSourceFindByNodeName: + * @top: backing chain top + * @nodeName: node name to find in backing chain + * + * Looks up the given storage source in the backing chain and returns the + * pointer to it. + * On failure NULL is returned and no error is reported. + */ +static virStorageSourcePtr +qemuDomainVirStorageSourceFindByNodeName(virStorageSourcePtr top, + const char *nodeName) +{ + virStorageSourcePtr tmp; + + for (tmp =3D top; virStorageSourceIsBacking(tmp); tmp =3D tmp->backing= Store) { + if ((tmp->nodeformat && STREQ(tmp->nodeformat, nodeName)) || + (tmp->nodestorage && STREQ(tmp->nodestorage, nodeName))) + return tmp; + } + + return NULL; +} + + + static void qemuDomainObjPrivateXMLParseBlockjobNodename(qemuBlockJobDataPtr job, const char *xpath, @@ -2596,15 +2622,15 @@ qemuDomainObjPrivateXMLParseBlockjobNodename(qemuBl= ockJobDataPtr job, return; =20 if (job->disk && - (*src =3D virStorageSourceFindByNodeName(job->disk->src, nodename)= )) + (*src =3D qemuDomainVirStorageSourceFindByNodeName(job->disk->src,= nodename))) return; =20 if (job->chain && - (*src =3D virStorageSourceFindByNodeName(job->chain, nodename))) + (*src =3D qemuDomainVirStorageSourceFindByNodeName(job->chain, nod= ename))) return; =20 if (job->mirrorChain && - (*src =3D virStorageSourceFindByNodeName(job->mirrorChain, nodenam= e))) + (*src =3D qemuDomainVirStorageSourceFindByNodeName(job->mirrorChai= n, nodename))) return; =20 /* the node was in the XML but was not found in the job definitions */ @@ -10028,11 +10054,11 @@ qemuDomainDiskLookupByNodename(virDomainDefPtr de= f, for (i =3D 0; i < def->ndisks; i++) { virDomainDiskDefPtr domdisk =3D def->disks[i]; =20 - if ((*src =3D virStorageSourceFindByNodeName(domdisk->src, nodenam= e))) + if ((*src =3D qemuDomainVirStorageSourceFindByNodeName(domdisk->sr= c, nodename))) return domdisk; =20 if (domdisk->mirror && - (*src =3D virStorageSourceFindByNodeName(domdisk->mirror, node= name))) + (*src =3D qemuDomainVirStorageSourceFindByNodeName(domdisk->mi= rror, nodename))) return domdisk; } =20 @@ -10041,7 +10067,7 @@ qemuDomainDiskLookupByNodename(virDomainDefPtr def, virDomainBackupDiskDefPtr backupdisk =3D backupdef->disks + i; =20 if (backupdisk->store && - (*src =3D virStorageSourceFindByNodeName(backupdisk->store= , nodename))) + (*src =3D qemuDomainVirStorageSourceFindByNodeName(backupd= isk->store, nodename))) return virDomainDiskByTarget(def, backupdisk->name); } } diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c index 24b47fc788..13a86f34e5 100644 --- a/src/util/virstoragefile.c +++ b/src/util/virstoragefile.c @@ -4445,31 +4445,6 @@ virStorageSourceIsRelative(virStorageSourcePtr src) } =20 =20 -/** - * virStorageSourceFindByNodeName: - * @top: backing chain top - * @nodeName: node name to find in backing chain - * - * Looks up the given storage source in the backing chain and returns the - * pointer to it. - * On failure NULL is returned and no error is reported. - */ -virStorageSourcePtr -virStorageSourceFindByNodeName(virStorageSourcePtr top, - const char *nodeName) -{ - virStorageSourcePtr tmp; - - for (tmp =3D top; virStorageSourceIsBacking(tmp); tmp =3D tmp->backing= Store) { - if ((tmp->nodeformat && STREQ(tmp->nodeformat, nodeName)) || - (tmp->nodestorage && STREQ(tmp->nodestorage, nodeName))) - return tmp; - } - - return NULL; -} - - static unsigned int virStorageSourceNetworkDefaultPort(virStorageNetProtocol protocol) { diff --git a/src/util/virstoragefile.h b/src/util/virstoragefile.h index 1a722e1fa4..46da6a8a18 100644 --- a/src/util/virstoragefile.h +++ b/src/util/virstoragefile.h @@ -521,11 +521,6 @@ int virStorageSourceNewFromBackingAbsolute(const char = *path, =20 bool virStorageSourceIsRelative(virStorageSourcePtr src); =20 -virStorageSourcePtr -virStorageSourceFindByNodeName(virStorageSourcePtr top, - const char *nodeName) - ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2); - void virStorageSourceNetworkAssignDefaultPorts(virStorageSourcePtr src) ATTRIBUTE_NONNULL(1); --=20 2.29.2