From nobody Mon Feb 9 01:22:01 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.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 216.205.24.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=1618587509; cv=none; d=zohomail.com; s=zohoarc; b=nxbWQa6IOysiWdI8+Up4i5LkyOqghBWRwIJa2D7EM0XiR00VgpTy/+IubLZ/E5Sp6uHKidS66dDXv9zt8qEx85suSUu4IcVkaFg6k1DUHFbwzqNsvLMEtk30n42jTvh24/Yi1K6e38a14lADFtf0hz92FCCsW6UQRTlnwxkrKSg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1618587509; 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=HHklWnLeUeQ0hJpVdSbE/TzMCqXutZisOzSgDhw1OCI=; b=GKqAecGzal25S/X4P2qYHhm41qjmn5acbry2372KGhz0C/V9NpNlbaTWnCLdUh8Rowb2rjNzRGcCU60fqhKoRc2hZXDrLsSXtsyfByCIlpx6xdF5iizQuh+QvAo1zvaWzlk4ijPAnlWRk+1kkX9qk544TjujYoDMhnFukYXEoCg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.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 [216.205.24.124]) by mx.zohomail.com with SMTPS id 1618587509635348.9602921135429; Fri, 16 Apr 2021 08:38:29 -0700 (PDT) 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-395-CP4gJmOUMaarOPUCHU1ynQ-1; Fri, 16 Apr 2021 11:38:26 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 573A0A6884; Fri, 16 Apr 2021 15:38:20 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2B71310023B5; Fri, 16 Apr 2021 15:38:20 +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 EA1351806D0F; Fri, 16 Apr 2021 15:38:19 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 13GFYq6J009234 for ; Fri, 16 Apr 2021 11:34:52 -0400 Received: by smtp.corp.redhat.com (Postfix) id 6957B5C3DF; Fri, 16 Apr 2021 15:34:52 +0000 (UTC) Received: from speedmetal.lan (unknown [10.40.208.33]) by smtp.corp.redhat.com (Postfix) with ESMTP id B75395C6BD for ; Fri, 16 Apr 2021 15:34:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1618587508; 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=HHklWnLeUeQ0hJpVdSbE/TzMCqXutZisOzSgDhw1OCI=; b=PhpT6wwP9LZeEEDHhokaRDd0nSySEkzfRbFYyeeZzEpM69GP7BDrVJfVylO0aCUhjMSQzD yTqK0NV6VvH00eqy+9qV6V5PbDJj2RzuiPZBTNHiqBFsXr3qzGc5iaLKuq4R8MU44SH3U4 I9IB4gmDAl2+SE/MsI2F8Lhf3TajOBA= X-MC-Unique: CP4gJmOUMaarOPUCHU1ynQ-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 03/25] conf: domain: Introduce virDomainDiskDefParseSource Date: Fri, 16 Apr 2021 17:34:21 +0200 Message-Id: <31b062efaddeb703e0b6736c8adb59584dcda8e6.1618587222.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 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.84 on 10.5.11.22 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" Add a helper function which will parse the source portion of a . The idea is to replace *virDomainDiskDefParse with VIR_DOMAIN_DEF_PARSE_DISK_SOURCE with the new helper in the future. Signed-off-by: Peter Krempa --- src/conf/domain_conf.c | 30 ++++++++++++++++++++++++++++++ src/conf/domain_conf.h | 3 +++ src/libvirt_private.syms | 1 + 3 files changed, 34 insertions(+) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 6795f0b3be..57cad6ffde 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -9704,6 +9704,21 @@ virDomainDiskDefParseXML(virDomainXMLOption *xmlopt, } +static virStorageSource * +virDomainDiskDefParseSourceXML(virDomainXMLOption *xmlopt, + xmlNodePtr node, + xmlXPathContextPtr ctxt, + unsigned int flags) +{ + g_autoptr(virDomainDiskDef) diskdef =3D NULL; + + if (!(diskdef =3D virDomainDiskDefParseXML(xmlopt, node, ctxt, + flags | VIR_DOMAIN_DEF_PARSE_= DISK_SOURCE))) + return NULL; + + return g_steal_pointer(&diskdef->src); +} + /** * virDomainParseMemory: @@ -16445,6 +16460,21 @@ virDomainDiskDefParse(const char *xmlStr, } +virStorageSource * +virDomainDiskDefParseSource(const char *xmlStr, + virDomainXMLOption *xmlopt, + unsigned int flags) +{ + g_autoptr(xmlDoc) xml =3D NULL; + g_autoptr(xmlXPathContext) ctxt =3D NULL; + + if (!(xml =3D virXMLParseStringCtxtRoot(xmlStr, _("(disk_definition)")= , "disk", &ctxt))) + return NULL; + + return virDomainDiskDefParseSourceXML(xmlopt, ctxt->node, ctxt, flags); +} + + static const char * virDomainChrTargetTypeToString(int deviceType, int targetType) diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 99ab2a96d9..83b9288941 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -3406,6 +3406,9 @@ virDomainDeviceDef *virDomainDeviceDefParse(const cha= r *xmlStr, virDomainDiskDef *virDomainDiskDefParse(const char *xmlStr, virDomainXMLOption *xmlopt, unsigned int flags); +virStorageSource *virDomainDiskDefParseSource(const char *xmlStr, + virDomainXMLOption *xmlopt, + unsigned int flags); virDomainDef *virDomainDefParseString(const char *xmlStr, virDomainXMLOption *xmlopt, void *parseOpaque, diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 0fcbf546a6..fe3b443171 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -371,6 +371,7 @@ virDomainDiskDefCheckDuplicateInfo; virDomainDiskDefFree; virDomainDiskDefNew; virDomainDiskDefParse; +virDomainDiskDefParseSource; virDomainDiskDetectZeroesTypeFromString; virDomainDiskDetectZeroesTypeToString; virDomainDiskDeviceTypeToString; --=20 2.30.2