From nobody Sun May 12 02:04:16 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1700825708244195.88168844010704; Fri, 24 Nov 2023 03:35:08 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id C92A019A5; Fri, 24 Nov 2023 06:35:06 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 5051A1856; Fri, 24 Nov 2023 06:33:31 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 931271816; Fri, 24 Nov 2023 06:33:24 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 1396617E0 for ; Fri, 24 Nov 2023 06:33:24 -0500 (EST) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-516-zdu3u5dwPUOssyGzI0qxwg-1; Fri, 24 Nov 2023 06:33:22 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 56CD28007B3 for ; Fri, 24 Nov 2023 11:33:22 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.11]) by smtp.corp.redhat.com (Postfix) with ESMTP id CA074112130C for ; Fri, 24 Nov 2023 11:33:21 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: zdu3u5dwPUOssyGzI0qxwg-1 From: Peter Krempa To: devel@lists.libvirt.org Subject: [PATCH 01/17] qemu: block: Introduce qemuBlockStorageSourceGetSliceNodename Date: Fri, 24 Nov 2023 12:33:04 +0100 Message-ID: <8fb82d562a0c47adc5c2830d5ec035ad92c49c1d.1700825268.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: NIETEMQS3EVZJDPMCYRAW22CTH4PPELJ X-Message-ID-Hash: NIETEMQS3EVZJDPMCYRAW22CTH4PPELJ X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1700825709166100001 The helper retrieves the nodename of the slice layer if it's present. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_block.c | 23 ++++++++++++++++++++--- src/qemu/qemu_block.h | 3 +++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index fab122942a..ea1af61561 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -101,6 +101,22 @@ qemuBlockStorageSourceGetEffectiveNodename(virStorageS= ource *src) } +/** + * qemuBlockStorageSourceGetSliceNodename: + * + * Gets the nodename corresponding to the storage slice layer. Returns NULL + * when there is no explicit storage slice layer. + */ +const char * +qemuBlockStorageSourceGetSliceNodename(virStorageSource *src) +{ + if (!src->sliceStorage) + return NULL; + + return src->sliceStorage->nodename; +} + + /** * qemuBlockStorageSourceGetEffectiveStorageNodename: * @src: virStorageSource to get the effective nodename of @@ -111,9 +127,10 @@ qemuBlockStorageSourceGetEffectiveNodename(virStorageS= ource *src) const char * qemuBlockStorageSourceGetEffectiveStorageNodename(virStorageSource *src) { - if (src->sliceStorage && - src->sliceStorage->nodename) - return src->sliceStorage->nodename; + const char *slice =3D qemuBlockStorageSourceGetSliceNodename(src); + + if (slice) + return slice; return src->nodenamestorage; } diff --git a/src/qemu/qemu_block.h b/src/qemu/qemu_block.h index 5c784a4386..85616a140d 100644 --- a/src/qemu/qemu_block.h +++ b/src/qemu/qemu_block.h @@ -40,6 +40,9 @@ qemuBlockStorageSourceGetEffectiveStorageNodename(virStor= ageSource *src); const char * qemuBlockStorageSourceGetStorageNodename(virStorageSource *src); +const char * +qemuBlockStorageSourceGetSliceNodename(virStorageSource *src); + const char * qemuBlockStorageSourceGetFormatNodename(virStorageSource *src); --=20 2.42.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Sun May 12 02:04:16 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 17008258850591008.7047226411133; Fri, 24 Nov 2023 03:38:05 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 1193F19B0; Fri, 24 Nov 2023 06:38:04 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id A31B518BC; Fri, 24 Nov 2023 06:33:47 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 9004E1770; Fri, 24 Nov 2023 06:33:25 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 124C417DC for ; Fri, 24 Nov 2023 06:33:25 -0500 (EST) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-633-w02Y7p4pMmam6yDHRcspvA-1; Fri, 24 Nov 2023 06:33:23 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 27907101A53B for ; Fri, 24 Nov 2023 11:33:23 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.11]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9C6B61121306 for ; Fri, 24 Nov 2023 11:33:22 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: w02Y7p4pMmam6yDHRcspvA-1 From: Peter Krempa To: devel@lists.libvirt.org Subject: [PATCH 02/17] qemu: block: Use qemuBlockStorageSourceNeedsStorageSliceLayer only for setup Date: Fri, 24 Nov 2023 12:33:05 +0100 Message-ID: <6b247612256c8442ca73f6d81416a98835a56eb5.1700825268.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: WD4ZPRRNUIQ42SWAXOLE7KTLDDSBZSNY X-Message-ID-Hash: WD4ZPRRNUIQ42SWAXOLE7KTLDDSBZSNY X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1700825886091100001 Add a note stating that qemuBlockStorageSourceNeedsStorageSliceLayer must be used only when setting up a new blockdev, any other case when the device might been already set up must use the existance of the nodename to do so. Adjust qemuBlockStorageSourceAttachPrepareBlockdev to do so and refactor qemuBlockStorageSourceDetachPrepare to use the same logic. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_block.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index ea1af61561..1a718ae82b 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -1535,11 +1535,9 @@ qemuBlockStorageSourceAttachPrepareBlockdev(virStora= geSource *src, data->storageNodeName =3D qemuBlockStorageSourceGetStorageNodename(src= ); data->formatNodeName =3D qemuBlockStorageSourceGetFormatNodename(src); - if (qemuBlockStorageSourceNeedsStorageSliceLayer(src)) { + if ((data->storageSliceNodeName =3D qemuBlockStorageSourceGetSliceNode= name(src))) { if (!(data->storageSliceProps =3D qemuBlockStorageSourceGetBlockde= vStorageSliceProps(src))) return NULL; - - data->storageSliceNodeName =3D src->sliceStorage->nodename; } return g_steal_pointer(&data); @@ -1756,13 +1754,8 @@ qemuBlockStorageSourceDetachPrepare(virStorageSource= *src) data->storageNodeName =3D qemuBlockStorageSourceGetStorageNodename(src= ); data->storageAttached =3D true; - /* 'raw' format doesn't need the extra 'raw' layer when slicing, thus - * the nodename is NULL */ - if (src->sliceStorage && - src->sliceStorage->nodename) { - data->storageSliceNodeName =3D src->sliceStorage->nodename; + if ((data->storageSliceNodeName =3D qemuBlockStorageSourceGetSliceNode= name(src))) data->storageSliceAttached =3D true; - } if (src->pr && !virStoragePRDefIsManaged(src->pr)) @@ -3264,6 +3257,12 @@ qemuBlockReopenReadOnly(virDomainObj *vm, * * Returns true if @src requires an extra 'raw' layer for handling of the = storage * slice. + * + * Important: This helper must be used only for decisions when setting up a + * '-blockdev' backend in which case the storage slice layer node name wil= l be + * populated. + * Any cases when the backend can be already in use must decide based on t= he + * existence of the storage slice layer nodename. */ bool qemuBlockStorageSourceNeedsStorageSliceLayer(const virStorageSource *src) --=20 2.42.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Sun May 12 02:04:16 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 170082596324222.441978248447754; Fri, 24 Nov 2023 03:39:23 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 257DF199E; Fri, 24 Nov 2023 06:39:22 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 9E7C11994; Fri, 24 Nov 2023 06:33:55 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 4475617DF; Fri, 24 Nov 2023 06:33:26 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id BE6C31770 for ; Fri, 24 Nov 2023 06:33:25 -0500 (EST) Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-639-YHyJJ43bM-q1Tnd2870YZA-1; Fri, 24 Nov 2023 06:33:24 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id EF35D3801BCE for ; Fri, 24 Nov 2023 11:33:23 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.11]) by smtp.corp.redhat.com (Postfix) with ESMTP id 70C561121306 for ; Fri, 24 Nov 2023 11:33:23 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: YHyJJ43bM-q1Tnd2870YZA-1 From: Peter Krempa To: devel@lists.libvirt.org Subject: [PATCH 03/17] qemu: block: Introduce helper for deciding when a 'format' layer is needed Date: Fri, 24 Nov 2023 12:33:06 +0100 Message-ID: <8e59874109af36a83a6bb1bad8c548b437c38577.1700825268.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: IXKUNHIDMHEQW2CROLVRBW6TPGV6L3O2 X-Message-ID-Hash: IXKUNHIDMHEQW2CROLVRBW6TPGV6L3O2 X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1700825964433100001 The 'format' layer is not required in certain cases. As the logic for this will be a bit more involved create a helper function to do the decision. For now we'll keep to always format the 'format' -blockdev layer. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_block.c | 19 +++++++++++++++++++ src/qemu/qemu_block.h | 3 +++ 2 files changed, 22 insertions(+) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index 1a718ae82b..123e764e63 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -3281,6 +3281,25 @@ qemuBlockStorageSourceNeedsStorageSliceLayer(const v= irStorageSource *src) } +/** + * qemuBlockStorageSourceNeedsFormatLayer: + * @src: storage source + * + * Returns true if configuration of @src requires a 'format' layer -blockd= ev. + * + * Important: This helper must be used only for decisions when setting up a + * '-blockdev' backend in which case the format layer node name will be po= pulated. + * Any cases when the backend can be already in use must decide based on t= he + * existence of the format layer nodename. + */ +bool +qemuBlockStorageSourceNeedsFormatLayer(const virStorageSource *src G_GNUC_= UNUSED) +{ + /* Currently we always create a 'format' layer */ + return true; +} + + /** * qemuBlockStorageSourceGetCookieString: * @src: storage source diff --git a/src/qemu/qemu_block.h b/src/qemu/qemu_block.h index 85616a140d..dcd8a6ed6c 100644 --- a/src/qemu/qemu_block.h +++ b/src/qemu/qemu_block.h @@ -280,6 +280,9 @@ qemuBlockReopenReadOnly(virDomainObj *vm, bool qemuBlockStorageSourceNeedsStorageSliceLayer(const virStorageSource *src); +bool +qemuBlockStorageSourceNeedsFormatLayer(const virStorageSource *src); + char * qemuBlockStorageSourceGetCookieString(virStorageSource *src); --=20 2.42.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Sun May 12 02:04:16 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1700826037467757.3436690510684; Fri, 24 Nov 2023 03:40:37 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 6DBBB187F; Fri, 24 Nov 2023 06:40:36 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 8E369191F; Fri, 24 Nov 2023 06:34:03 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 621EA1770; Fri, 24 Nov 2023 06:33:27 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id C490117DC for ; Fri, 24 Nov 2023 06:33:26 -0500 (EST) Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-245-XEmMq6F7NvaI6CxZZpYBHw-1; Fri, 24 Nov 2023 06:33:25 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id C898F3801BF2 for ; Fri, 24 Nov 2023 11:33:24 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.11]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4A4331121306 for ; Fri, 24 Nov 2023 11:33:24 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: XEmMq6F7NvaI6CxZZpYBHw-1 From: Peter Krempa To: devel@lists.libvirt.org Subject: [PATCH 04/17] qemuBlockStorageSourceGetBlockdevStorageSliceProps: Allow turning the slice layer into effective blockdev layer Date: Fri, 24 Nov 2023 12:33:07 +0100 Message-ID: <711a4e72ca90c57663ca7ba5b2d400d1edece4e6.1700825268.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: KEDXW4JMX4IAYLCJDK5FWJIRYTOQQ6BO X-Message-ID-Hash: KEDXW4JMX4IAYLCJDK5FWJIRYTOQQ6BO X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1700826039065100001 Allow using the slice layer as effective layer once we stop formatting the unnecessary 'raw' driver. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_block.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index 123e764e63..f7e912ece0 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -1448,8 +1448,18 @@ qemuBlockStorageSourceGetFormatProps(virStorageSourc= e *src, } +/** + * qemuBlockStorageSourceGetBlockdevStorageSliceProps: + * @src: storage source object + * @effective: Whether this blockdev will be the 'effective' layer of @src + * + * Formats the JSON object representing -blockdev configuration required to + * configure a 'slice' of @src. If @effective is true, the slice layer is = the + * topmost/effective blockdev layer of @src. + */ static virJSONValue * -qemuBlockStorageSourceGetBlockdevStorageSliceProps(virStorageSource *src) +qemuBlockStorageSourceGetBlockdevStorageSliceProps(virStorageSource *src, + bool effective) { g_autoptr(virJSONValue) props =3D NULL; @@ -1464,7 +1474,7 @@ qemuBlockStorageSourceGetBlockdevStorageSliceProps(vi= rStorageSource *src) if (qemuBlockStorageSourceAddBlockdevCommonProps(&props, src, src->sliceStorage->no= dename, - false) < 0) + effective) < 0) return NULL; return g_steal_pointer(&props); @@ -1536,7 +1546,7 @@ qemuBlockStorageSourceAttachPrepareBlockdev(virStorag= eSource *src, data->formatNodeName =3D qemuBlockStorageSourceGetFormatNodename(src); if ((data->storageSliceNodeName =3D qemuBlockStorageSourceGetSliceNode= name(src))) { - if (!(data->storageSliceProps =3D qemuBlockStorageSourceGetBlockde= vStorageSliceProps(src))) + if (!(data->storageSliceProps =3D qemuBlockStorageSourceGetBlockde= vStorageSliceProps(src, false))) return NULL; } --=20 2.42.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Sun May 12 02:04:16 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1700826118301791.6627652712617; Fri, 24 Nov 2023 03:41:58 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 1656F18BC; Fri, 24 Nov 2023 06:41:57 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id C4655199F; Fri, 24 Nov 2023 06:34:12 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id F1F8617E0; Fri, 24 Nov 2023 06:33:27 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 70C481770 for ; Fri, 24 Nov 2023 06:33:27 -0500 (EST) Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-80-nBoONvlxPgWixUcd7ww-nA-1; Fri, 24 Nov 2023 06:33:25 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 90E1E3C0BE52 for ; Fri, 24 Nov 2023 11:33:25 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.11]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1A631112130A for ; Fri, 24 Nov 2023 11:33:24 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: nBoONvlxPgWixUcd7ww-nA-1 From: Peter Krempa To: devel@lists.libvirt.org Subject: [PATCH 05/17] qemuBlockStorageSourceAttachPrepareBlockdev: Prepare for optionally missing format layer Date: Fri, 24 Nov 2023 12:33:08 +0100 Message-ID: <304693a7ebf7a71b9a1243b63a919b55a3c8c55c.1700825268.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: F3IJ5AGUOPPH3RYPTYEE3JC4NKMCY3MN X-Message-ID-Hash: F3IJ5AGUOPPH3RYPTYEE3JC4NKMCY3MN X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1700826119317100001 Restructure the code logic so that the function is prepared for the possibility that the 'format' blockdev layer may be missing if not needed. To achieve this we need to introduce logic that selects which node (format/slice/storage) becomes the effective node and thus formats the correct set of arguments. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_block.c | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index f7e912ece0..749cd9fdac 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -1533,23 +1533,35 @@ qemuBlockStorageSourceAttachPrepareBlockdev(virStor= ageSource *src, virStorageSource *backingStore) { g_autoptr(qemuBlockStorageSourceAttachData) data =3D NULL; + bool effective =3D true; unsigned int backendpropsflags =3D 0; data =3D g_new0(qemuBlockStorageSourceAttachData, 1); - if (!(data->formatProps =3D qemuBlockStorageSourceGetFormatProps(src, = backingStore)) || - !(data->storageProps =3D qemuBlockStorageSourceGetBackendProps(src, - backe= ndpropsflags))) - return NULL; + if (qemuBlockStorageSourceGetFormatNodename(src)) { + if (!(data->formatProps =3D qemuBlockStorageSourceGetFormatProps(s= rc, backingStore))) + return NULL; - data->storageNodeName =3D qemuBlockStorageSourceGetStorageNodename(src= ); - data->formatNodeName =3D qemuBlockStorageSourceGetFormatNodename(src); + data->formatNodeName =3D qemuBlockStorageSourceGetFormatNodename(s= rc); + + effective =3D false; + } if ((data->storageSliceNodeName =3D qemuBlockStorageSourceGetSliceNode= name(src))) { - if (!(data->storageSliceProps =3D qemuBlockStorageSourceGetBlockde= vStorageSliceProps(src, false))) + if (!(data->storageSliceProps =3D qemuBlockStorageSourceGetBlockde= vStorageSliceProps(src, effective))) return NULL; + + effective =3D false; } + if (effective) + backendpropsflags =3D QEMU_BLOCK_STORAGE_SOURCE_BACKEND_PROPS_EFFE= CTIVE_NODE; + + if (!(data->storageProps =3D qemuBlockStorageSourceGetBackendProps(src= , backendpropsflags))) + return NULL; + + data->storageNodeName =3D qemuBlockStorageSourceGetStorageNodename(src= ); + return g_steal_pointer(&data); } --=20 2.42.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Sun May 12 02:04:16 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1700826198478713.105180720184; Fri, 24 Nov 2023 03:43:18 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id CF6581A38; Fri, 24 Nov 2023 06:43:15 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 09B26186E; Fri, 24 Nov 2023 06:34:22 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id F124017DF; Fri, 24 Nov 2023 06:33:28 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 3677F17DC for ; Fri, 24 Nov 2023 06:33:28 -0500 (EST) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-377-189eefhJPIaGIc_KtBqN-A-1; Fri, 24 Nov 2023 06:33:26 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 5C5EC811E7E for ; Fri, 24 Nov 2023 11:33:26 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.11]) by smtp.corp.redhat.com (Postfix) with ESMTP id D903C1121306 for ; Fri, 24 Nov 2023 11:33:25 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: 189eefhJPIaGIc_KtBqN-A-1 From: Peter Krempa To: devel@lists.libvirt.org Subject: [PATCH 06/17] qemuBlockStorageSourceDetachPrepare: Prepare for possibly missing 'format' layer Date: Fri, 24 Nov 2023 12:33:09 +0100 Message-ID: <5dd8a86b42bb02f5851c4c6184ad03c59186789a.1700825268.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: B676BTTGXLS3RZYH5IKBENSSVMLRGBBP X-Message-ID-Hash: B676BTTGXLS3RZYH5IKBENSSVMLRGBBP X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1700826199890100001 Setup the data for detaching of the 'format' layer only when it's present. Restructure the logic to follow the same order as qemuBlockStorageSourceAttachPrepareBlockdev in terms of format/slice/storage -blockdev objects, and drop the now-misleading comment for 'slice' of raw disks. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_block.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index 749cd9fdac..7137604e36 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -1771,14 +1771,15 @@ qemuBlockStorageSourceDetachPrepare(virStorageSourc= e *src) data =3D g_new0(qemuBlockStorageSourceAttachData, 1); - data->formatNodeName =3D qemuBlockStorageSourceGetFormatNodename(src); - data->formatAttached =3D true; - data->storageNodeName =3D qemuBlockStorageSourceGetStorageNodename(src= ); - data->storageAttached =3D true; + if ((data->formatNodeName =3D qemuBlockStorageSourceGetFormatNodename(= src))) + data->formatAttached =3D true; if ((data->storageSliceNodeName =3D qemuBlockStorageSourceGetSliceNode= name(src))) data->storageSliceAttached =3D true; + data->storageNodeName =3D qemuBlockStorageSourceGetStorageNodename(src= ); + data->storageAttached =3D true; + if (src->pr && !virStoragePRDefIsManaged(src->pr)) data->prmgrAlias =3D g_strdup(src->pr->mgralias); --=20 2.42.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Sun May 12 02:04:16 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1700826298709195.16489091052154; Fri, 24 Nov 2023 03:44:58 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id A3215196B; Fri, 24 Nov 2023 06:44:57 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 0C55519BA; Fri, 24 Nov 2023 06:34:30 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id B0BFA17DC; Fri, 24 Nov 2023 06:33:29 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 00B161770 for ; Fri, 24 Nov 2023 06:33:28 -0500 (EST) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-696-SXgscwa0NDK7hdQ0litvKw-1; Fri, 24 Nov 2023 06:33:27 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 39D438B58E2 for ; Fri, 24 Nov 2023 11:33:27 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.11]) by smtp.corp.redhat.com (Postfix) with ESMTP id AC5F5112130B for ; Fri, 24 Nov 2023 11:33:26 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: SXgscwa0NDK7hdQ0litvKw-1 From: Peter Krempa To: devel@lists.libvirt.org Subject: [PATCH 07/17] qemuDomainPrepareStorageSourceBlockdevNodename: Restructure code to allow missing 'format' layer Date: Fri, 24 Nov 2023 12:33:10 +0100 Message-ID: <9fafeab25a16c322c02cf21b7db3aa356e403ffa.1700825268.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: LTAKWZJJLSX4EHJGPUW744BYEQ4C3DYA X-Message-ID-Hash: LTAKWZJJLSX4EHJGPUW744BYEQ4C3DYA X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1700826300275100001 Similarly to other bits of code, we don't need to setup the format layer if it will not be formatted. Add logic which uses qemuBlockStorageSourceNeedsFormatLayer to see whether the setup of the format node is needed. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_domain.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index ae19ce884b..6d3161c5d7 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -11145,11 +11145,21 @@ qemuDomainPrepareStorageSourceBlockdevNodename(vi= rDomainDiskDef *disk, virQEMUDriverConfig *cfg) { char *nodestorage =3D g_strdup_printf("%s-storage", nodenameprefix); - char *nodeformat =3D g_strdup_printf("%s-format", nodenameprefix); + const char *encryptionAlias =3D nodestorage; /* qemuBlockStorageSourceSetStorageNodename steals 'nodestorage' */ qemuBlockStorageSourceSetStorageNodename(src, nodestorage); - qemuBlockStorageSourceSetFormatNodename(src, nodeformat); + + if (qemuBlockStorageSourceNeedsFormatLayer(src)) { + char *nodeformat =3D g_strdup_printf("%s-format", nodenameprefix); + + qemuBlockStorageSourceSetFormatNodename(src, nodeformat); + + encryptionAlias =3D nodeformat; + } + + if (qemuDomainSecretStorageSourcePrepareEncryption(priv, src, encrypti= onAlias) < 0) + return -1; if (qemuBlockStorageSourceNeedsStorageSliceLayer(src)) src->sliceStorage->nodename =3D g_strdup_printf("libvirt-%u-slice-= sto", src->id); @@ -11163,9 +11173,6 @@ qemuDomainPrepareStorageSourceBlockdevNodename(virD= omainDiskDef *disk, qemuDomainPrepareStorageSourceConfig(src, cfg); qemuDomainPrepareDiskSourceData(disk, src); - if (qemuDomainSecretStorageSourcePrepareEncryption(priv, src, nodeform= at) < 0) - return -1; - if (!qemuDomainPrepareStorageSourceNbdkit(src, cfg, nodestorage, priv)= ) { /* If we're using nbdkit to serve the storage source, we don't pass * authentication secrets to qemu, but will pass them to nbdkit in= stead */ --=20 2.42.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Sun May 12 02:04:16 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1700826363761695.701560887378; Fri, 24 Nov 2023 03:46:03 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 81C181866; Fri, 24 Nov 2023 06:46:02 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 120C119CB; Fri, 24 Nov 2023 06:34:39 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id C7CC517E0; Fri, 24 Nov 2023 06:33:30 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id DD14D17DC for ; Fri, 24 Nov 2023 06:33:29 -0500 (EST) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-251-VSkhD-RYOxu91pm_b40dWw-1; Fri, 24 Nov 2023 06:33:28 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 08077811E94 for ; Fri, 24 Nov 2023 11:33:28 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.11]) by smtp.corp.redhat.com (Postfix) with ESMTP id 810241121306 for ; Fri, 24 Nov 2023 11:33:27 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: VSkhD-RYOxu91pm_b40dWw-1 From: Peter Krempa To: devel@lists.libvirt.org Subject: [PATCH 08/17] qemuBlockStorageSourceGetEffectiveNodename: Prepare for missing 'format' driver Date: Fri, 24 Nov 2023 12:33:11 +0100 Message-ID: <842587887982ac5e0ec9df5d2489e99cc82ba5eb.1700825268.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: OGYZJXK3FHMZDL6I4KF2CDE2VOOCOVE5 X-Message-ID-Hash: OGYZJXK3FHMZDL6I4KF2CDE2VOOCOVE5 X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1700826364505100001 Return the effective storage nodename if the format layer is not present. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_block.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index 7137604e36..b7f16b43ae 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -97,7 +97,10 @@ qemuBlockStorageSourceSetFormatNodename(virStorageSource= *src, const char * qemuBlockStorageSourceGetEffectiveNodename(virStorageSource *src) { - return src->nodenameformat; + if (src->nodenameformat) + return src->nodenameformat; + + return qemuBlockStorageSourceGetEffectiveStorageNodename(src); } --=20 2.42.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Sun May 12 02:04:16 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1700826445305128.04220905339514; Fri, 24 Nov 2023 03:47:25 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 4CCBD1A2A; Fri, 24 Nov 2023 06:47:24 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id DE2E7175F; Fri, 24 Nov 2023 06:34:46 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 9B0B218EE; Fri, 24 Nov 2023 06:33:33 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id CA87717DF for ; Fri, 24 Nov 2023 06:33:30 -0500 (EST) Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-90-sLEvgs6nNRiAxMCRNnkkjw-1; Fri, 24 Nov 2023 06:33:29 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id DB616299E75A for ; Fri, 24 Nov 2023 11:33:28 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.11]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5E4DE1121306 for ; Fri, 24 Nov 2023 11:33:28 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: sLEvgs6nNRiAxMCRNnkkjw-1 From: Peter Krempa To: devel@lists.libvirt.org Subject: [PATCH 09/17] qemu: block: Extract logic from qemuBlockReopenReadWrite/ReadOnly Date: Fri, 24 Nov 2023 12:33:12 +0100 Message-ID: <4ddcae75eea71a5eb833375b4b056b3279b215fb.1700825268.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: WJIJ5JI6WOFP7ZNNIMNJE62732FNKLMM X-Message-ID-Hash: WJIJ5JI6WOFP7ZNNIMNJE62732FNKLMM X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1700826446851100001 We want to preserve the wrappers for clarity but the inner logic can be extracted to a common function qemuBlockReopenAccess. In further patches the code from qemuBlockReopenFormat will be merged into the new wrapper as well as logic for handling scenarios with missing 'format' layers will be added. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_block.c | 62 +++++++++++++++++++++++++------------------ 1 file changed, 36 insertions(+), 26 deletions(-) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index b7f16b43ae..1ef6bf98bc 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -3221,27 +3221,30 @@ qemuBlockReopenFormat(virDomainObj *vm, /** - * qemuBlockReopenReadWrite: + * qemuBlockReopenAccess: * @vm: domain object * @src: storage source to reopen + * @readonly: requested readonly mode * @asyncJob: qemu async job type * - * Wrapper that reopens @src read-write. We currently depend on qemu - * reopening the storage with 'auto-read-only' enabled for us. - * After successful reopen @src's 'readonly' flag is modified. Does nothing - * if @src is already read-write. + * Reopen @src image to ensure that it is in @readonly. Does nothing if it= is + * already in the requested state. + * + * Callers must use qemuBlockReopenReadWrite/qemuBlockReopenReadOnly funct= ions. */ -int -qemuBlockReopenReadWrite(virDomainObj *vm, - virStorageSource *src, - virDomainAsyncJob asyncJob) + +static int +qemuBlockReopenAccess(virDomainObj *vm, + virStorageSource *src, + bool readonly, + virDomainAsyncJob asyncJob) { - if (!src->readonly) + if (src->readonly =3D=3D readonly) return 0; - src->readonly =3D false; + src->readonly =3D readonly; if (qemuBlockReopenFormat(vm, src, asyncJob) < 0) { - src->readonly =3D true; + src->readonly =3D !readonly; return -1; } @@ -3250,31 +3253,38 @@ qemuBlockReopenReadWrite(virDomainObj *vm, /** - * qemuBlockReopenReadOnly: + * qemuBlockReopenReadWrite: * @vm: domain object * @src: storage source to reopen * @asyncJob: qemu async job type * - * Wrapper that reopens @src read-only. We currently depend on qemu - * reopening the storage with 'auto-read-only' enabled for us. - * After successful reopen @src's 'readonly' flag is modified. Does nothing - * if @src is already read-only. + * Semantic wrapper that reopens @src read-write. After successful reopen = @src's + * 'readonly' flag is modified. Does nothing if @src is already read-write. */ int -qemuBlockReopenReadOnly(virDomainObj *vm, +qemuBlockReopenReadWrite(virDomainObj *vm, virStorageSource *src, virDomainAsyncJob asyncJob) { - if (src->readonly) - return 0; + return qemuBlockReopenAccess(vm, src, false, asyncJob); +} - src->readonly =3D true; - if (qemuBlockReopenFormat(vm, src, asyncJob) < 0) { - src->readonly =3D false; - return -1; - } - return 0; +/** + * qemuBlockReopenReadOnly: + * @vm: domain object + * @src: storage source to reopen + * @asyncJob: qemu async job type + * + * Semantic wrapper that reopens @src read-only. After successful reopen @= src's + * 'readonly' flag is modified. Does nothing if @src is already read-only. + */ +int +qemuBlockReopenReadOnly(virDomainObj *vm, + virStorageSource *src, + virDomainAsyncJob asyncJob) +{ + return qemuBlockReopenAccess(vm, src, true, asyncJob); } /** --=20 2.42.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Sun May 12 02:04:16 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1700826521307613.8540336860725; Fri, 24 Nov 2023 03:48:41 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 49D451A77; Fri, 24 Nov 2023 06:48:40 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id BAF851990; Fri, 24 Nov 2023 06:34:55 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id D13CE18F4; Fri, 24 Nov 2023 06:33:51 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 9A552186E for ; Fri, 24 Nov 2023 06:33:31 -0500 (EST) Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-136-x5sAtxLaOvGXvJQPfwp-yg-1; Fri, 24 Nov 2023 06:33:29 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id A97853C0C126 for ; Fri, 24 Nov 2023 11:33:29 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.11]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2E2D71121306 for ; Fri, 24 Nov 2023 11:33:29 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: x5sAtxLaOvGXvJQPfwp-yg-1 From: Peter Krempa To: devel@lists.libvirt.org Subject: [PATCH 10/17] qemu: block: Absorb logic from qemuBlockReopenFormat to qemuBlockReopenAccess Date: Fri, 24 Nov 2023 12:33:13 +0100 Message-ID: <299de81abd601b9f7badb1cfda4561d483a922bf.1700825268.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: BIRILOP6ZJ5EWE3OHTLCCQOPOZ2XMPFP X-Message-ID-Hash: BIRILOP6ZJ5EWE3OHTLCCQOPOZ2XMPFP X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1700826523156100001 Move all the logic into the new function and remove the old one. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_block.c | 60 +++++++++++++++---------------------------- 1 file changed, 21 insertions(+), 39 deletions(-) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index 1ef6bf98bc..2872d74fa2 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -3182,22 +3182,29 @@ qemuBlockReopenFormatMon(qemuMonitor *mon, /** - * qemuBlockReopenFormat: + * qemuBlockReopenAccess: * @vm: domain object * @src: storage source to reopen + * @readonly: requested readonly mode * @asyncJob: qemu async job type * - * Invokes the 'blockdev-reopen' command on the format layer of @src. This= means - * that @src must be already properly configured for the desired outcome. = The - * nodenames of @src are used to identify the specific image in qemu. + * Reopen @src image to ensure that it is in @readonly. Does nothing if it= is + * already in the requested state. + * + * Callers must use qemuBlockReopenReadWrite/qemuBlockReopenReadOnly funct= ions. */ static int -qemuBlockReopenFormat(virDomainObj *vm, +qemuBlockReopenAccess(virDomainObj *vm, virStorageSource *src, + bool readonly, virDomainAsyncJob asyncJob) { qemuDomainObjPrivate *priv =3D vm->privateData; int rc; + int ret =3D -1; + + if (src->readonly =3D=3D readonly) + return 0; /* If we are lacking the object here, qemu might have opened an image = with * a node name unknown to us */ @@ -3207,48 +3214,23 @@ qemuBlockReopenFormat(virDomainObj *vm, return -1; } + src->readonly =3D readonly; + /* from now on all error paths must use 'goto cleanup' */ + if (qemuDomainObjEnterMonitorAsync(vm, asyncJob) < 0) - return -1; + goto cleanup; rc =3D qemuBlockReopenFormatMon(priv->mon, src); qemuDomainObjExitMonitor(vm); if (rc < 0) - return -1; - - return 0; -} - - -/** - * qemuBlockReopenAccess: - * @vm: domain object - * @src: storage source to reopen - * @readonly: requested readonly mode - * @asyncJob: qemu async job type - * - * Reopen @src image to ensure that it is in @readonly. Does nothing if it= is - * already in the requested state. - * - * Callers must use qemuBlockReopenReadWrite/qemuBlockReopenReadOnly funct= ions. - */ - -static int -qemuBlockReopenAccess(virDomainObj *vm, - virStorageSource *src, - bool readonly, - virDomainAsyncJob asyncJob) -{ - if (src->readonly =3D=3D readonly) - return 0; + goto cleanup; - src->readonly =3D readonly; - if (qemuBlockReopenFormat(vm, src, asyncJob) < 0) { - src->readonly =3D !readonly; - return -1; - } + ret =3D 0; - return 0; + cleanup: + src->readonly =3D !readonly; + return ret; } --=20 2.42.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Sun May 12 02:04:16 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1700826604124914.5979473884848; Fri, 24 Nov 2023 03:50:04 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 199CC1A08; Fri, 24 Nov 2023 06:50:03 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 3F15D1946; Fri, 24 Nov 2023 06:35:04 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 89F5118FF; Fri, 24 Nov 2023 06:33:54 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 31CAA1887 for ; Fri, 24 Nov 2023 06:33:32 -0500 (EST) Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-610-ZujftbpuMdmTYv77i0vF9g-1; Fri, 24 Nov 2023 06:33:30 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 795451C05156 for ; Fri, 24 Nov 2023 11:33:30 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.11]) by smtp.corp.redhat.com (Postfix) with ESMTP id EED901121306 for ; Fri, 24 Nov 2023 11:33:29 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: ZujftbpuMdmTYv77i0vF9g-1 From: Peter Krempa To: devel@lists.libvirt.org Subject: [PATCH 11/17] qemu: monitor: Sanitize arguments of qemuMonitorBlockdevReopen Date: Fri, 24 Nov 2023 12:33:14 +0100 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: XH74VOMYBLQKJ7Y7OCLTUFE7CKIRCKDS X-Message-ID-Hash: XH74VOMYBLQKJ7Y7OCLTUFE7CKIRCKDS X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1700826605520100001 Take the virJSONValue array object which is passed to the 'blockdev-reopen' command as the 'options' argument rather than making the caller wrap all the properties. The code was a leftover from the time when the blockdev-reopen command had a different syntax, and thus can be cleaned up. Also note that the logging of the node name never worked as the top level object didn't ever contain a 'node-name' property. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_block.c | 8 +------- src/qemu/qemu_monitor.c | 7 ++----- src/qemu/qemu_monitor.h | 2 +- src/qemu/qemu_monitor_json.c | 6 ++++-- src/qemu/qemu_monitor_json.h | 2 +- 5 files changed, 9 insertions(+), 16 deletions(-) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index 2872d74fa2..84d9ddd9ef 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -3159,7 +3159,6 @@ int qemuBlockReopenFormatMon(qemuMonitor *mon, virStorageSource *src) { - g_autoptr(virJSONValue) reopenprops =3D NULL; g_autoptr(virJSONValue) srcprops =3D NULL; g_autoptr(virJSONValue) reopenoptions =3D virJSONValueNewArray(); @@ -3169,12 +3168,7 @@ qemuBlockReopenFormatMon(qemuMonitor *mon, if (virJSONValueArrayAppend(reopenoptions, &srcprops) < 0) return -1; - if (virJSONValueObjectAdd(&reopenprops, - "a:options", &reopenoptions, - NULL) < 0) - return -1; - - if (qemuMonitorBlockdevReopen(mon, &reopenprops) < 0) + if (qemuMonitorBlockdevReopen(mon, &reopenoptions) < 0) return -1; return 0; diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 320729f067..ec586b9036 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -3971,14 +3971,11 @@ qemuMonitorBlockdevAdd(qemuMonitor *mon, int qemuMonitorBlockdevReopen(qemuMonitor *mon, - virJSONValue **props) + virJSONValue **options) { - VIR_DEBUG("props=3D%p (node-name=3D%s)", *props, - NULLSTR(virJSONValueObjectGetString(*props, "node-name"))); - QEMU_CHECK_MONITOR(mon); - return qemuMonitorJSONBlockdevReopen(mon, props); + return qemuMonitorJSONBlockdevReopen(mon, options); } diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 6c590933aa..c4af9b407d 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -1309,7 +1309,7 @@ int qemuMonitorBlockdevAdd(qemuMonitor *mon, virJSONValue **props); int qemuMonitorBlockdevReopen(qemuMonitor *mon, - virJSONValue **props); + virJSONValue **options); int qemuMonitorBlockdevDel(qemuMonitor *mon, const char *nodename); diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 105d729d7c..9663da4722 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -7783,12 +7783,14 @@ qemuMonitorJSONBlockdevAdd(qemuMonitor *mon, int qemuMonitorJSONBlockdevReopen(qemuMonitor *mon, - virJSONValue **props) + virJSONValue **options) { g_autoptr(virJSONValue) cmd =3D NULL; g_autoptr(virJSONValue) reply =3D NULL; - if (!(cmd =3D qemuMonitorJSONMakeCommandInternal("blockdev-reopen", pr= ops))) + if (!(cmd =3D qemuMonitorJSONMakeCommand("blockdev-reopen", + "a:options", options, + NULL))) return -1; if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0) diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index 06023b98ea..ed0027c118 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -691,7 +691,7 @@ qemuMonitorJSONBlockdevAdd(qemuMonitor *mon, int qemuMonitorJSONBlockdevReopen(qemuMonitor *mon, - virJSONValue **props) + virJSONValue **options) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2); int --=20 2.42.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Sun May 12 02:04:16 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1700826697842215.28016744996023; Fri, 24 Nov 2023 03:51:37 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id B9B4318F7; Fri, 24 Nov 2023 06:51:36 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 0A48319DF; Fri, 24 Nov 2023 06:35:13 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 5CD0B1910; Fri, 24 Nov 2023 06:33:57 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 65EFD18DE for ; Fri, 24 Nov 2023 06:33:33 -0500 (EST) Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-477-1-jiPuEgMH2bmtj0f0amlA-1; Fri, 24 Nov 2023 06:33:31 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 48DDF1C041A7 for ; Fri, 24 Nov 2023 11:33:31 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.11]) by smtp.corp.redhat.com (Postfix) with ESMTP id C20E11121306 for ; Fri, 24 Nov 2023 11:33:30 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: 1-jiPuEgMH2bmtj0f0amlA-1 From: Peter Krempa To: devel@lists.libvirt.org Subject: [PATCH 12/17] testQemuMonitorJSONBlockdevReopen: Don't use qemuBlockReopenFormatMon Date: Fri, 24 Nov 2023 12:33:15 +0100 Message-ID: <0a3dcd38fb1ff5bc34b1f2df9aca5c680b91e943.1700825268.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: WQFW5STE4BU3ZWICP5TDAAKA5A3ASIEM X-Message-ID-Hash: WQFW5STE4BU3ZWICP5TDAAKA5A3ASIEM X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1700826700061100001 Use the low level monitor API directly to test the QMP wrapper itself. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- tests/qemumonitorjsontest.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index 6293b416bd..d9ebb429e7 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -2594,6 +2594,8 @@ testQemuMonitorJSONBlockdevReopen(const void *opaque) const testGenericData *data =3D opaque; g_autoptr(qemuMonitorTest) test =3D NULL; g_autoptr(virStorageSource) src =3D virStorageSourceNew(); + g_autoptr(virJSONValue) reopenoptions =3D virJSONValueNewArray(); + g_autoptr(virJSONValue) srcprops =3D NULL; if (!(test =3D qemuMonitorTestNewSchema(data->xmlopt, data->schema))) return -1; @@ -2604,10 +2606,16 @@ testQemuMonitorJSONBlockdevReopen(const void *opaqu= e) qemuBlockStorageSourceSetStorageNodename(src, g_strdup("backing nodena= me")); src->backingStore =3D virStorageSourceNew(); + if (!(srcprops =3D qemuBlockStorageSourceGetFormatProps(src, src->back= ingStore))) + return -1; + + if (virJSONValueArrayAppend(reopenoptions, &srcprops) < 0) + return -1; + if (qemuMonitorTestAddItem(test, "blockdev-reopen", "{\"return\":{}}")= < 0) return -1; - if (qemuBlockReopenFormatMon(qemuMonitorTestGetMonitor(test), src) < 0) + if (qemuMonitorBlockdevReopen(qemuMonitorTestGetMonitor(test), &reopen= options) < 0) return -1; return 0; --=20 2.42.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Sun May 12 02:04:16 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1700826764626582.9858182496204; Fri, 24 Nov 2023 03:52:44 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 8F8431975; Fri, 24 Nov 2023 06:52:43 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id F087019BC; Fri, 24 Nov 2023 06:35:20 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 5E237191A; Fri, 24 Nov 2023 06:33:59 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id C8D5618EF for ; Fri, 24 Nov 2023 06:33:33 -0500 (EST) Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-179-5D7jRs0mND-RYvLbFOQqKw-1; Fri, 24 Nov 2023 06:33:32 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 1CCFA1C041A7 for ; Fri, 24 Nov 2023 11:33:32 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.11]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9115F1121306 for ; Fri, 24 Nov 2023 11:33:31 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: 5D7jRs0mND-RYvLbFOQqKw-1 From: Peter Krempa To: devel@lists.libvirt.org Subject: [PATCH 13/17] qemu: block: Absorb qemuBlockReopenFormatMon into qemuBlockReopenAccess Date: Fri, 24 Nov 2023 12:33:16 +0100 Message-ID: <7c12ab4ba2eb4349c566952c5514005f90e9829f.1700825268.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: IC5HVVDUWRQXE6OMSEIRTWNI6SHKMLI6 X-Message-ID-Hash: IC5HVVDUWRQXE6OMSEIRTWNI6SHKMLI6 X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1700826766356100001 Move all the code into the now only caller. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_block.c | 31 +++++++++---------------------- src/qemu/qemu_block.h | 5 ----- 2 files changed, 9 insertions(+), 27 deletions(-) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index 84d9ddd9ef..c62f8fe5f3 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -3155,26 +3155,6 @@ qemuBlockBitmapsHandleCommitFinish(virStorageSource = *topsrc, } -int -qemuBlockReopenFormatMon(qemuMonitor *mon, - virStorageSource *src) -{ - g_autoptr(virJSONValue) srcprops =3D NULL; - g_autoptr(virJSONValue) reopenoptions =3D virJSONValueNewArray(); - - if (!(srcprops =3D qemuBlockStorageSourceGetFormatProps(src, src->back= ingStore))) - return -1; - - if (virJSONValueArrayAppend(reopenoptions, &srcprops) < 0) - return -1; - - if (qemuMonitorBlockdevReopen(mon, &reopenoptions) < 0) - return -1; - - return 0; -} - - /** * qemuBlockReopenAccess: * @vm: domain object @@ -3193,7 +3173,8 @@ qemuBlockReopenAccess(virDomainObj *vm, bool readonly, virDomainAsyncJob asyncJob) { - qemuDomainObjPrivate *priv =3D vm->privateData; + g_autoptr(virJSONValue) reopenoptions =3D virJSONValueNewArray(); + g_autoptr(virJSONValue) srcprops =3D NULL; int rc; int ret =3D -1; @@ -3211,10 +3192,16 @@ qemuBlockReopenAccess(virDomainObj *vm, src->readonly =3D readonly; /* from now on all error paths must use 'goto cleanup' */ + if (!(srcprops =3D qemuBlockStorageSourceGetFormatProps(src, src->back= ingStore))) + return -1; + + if (virJSONValueArrayAppend(reopenoptions, &srcprops) < 0) + return -1; + if (qemuDomainObjEnterMonitorAsync(vm, asyncJob) < 0) goto cleanup; - rc =3D qemuBlockReopenFormatMon(priv->mon, src); + rc =3D qemuMonitorBlockdevReopen(qemuDomainGetMonitor(vm), &reopenopti= ons); qemuDomainObjExitMonitor(vm); if (rc < 0) diff --git a/src/qemu/qemu_block.h b/src/qemu/qemu_block.h index dcd8a6ed6c..f37e10216c 100644 --- a/src/qemu/qemu_block.h +++ b/src/qemu/qemu_block.h @@ -263,11 +263,6 @@ qemuBlockBitmapsHandleCommitFinish(virStorageSource *t= opsrc, GHashTable *blockNamedNodeData, virJSONValue **actions); -/* only for use in qemumonitorjsontest */ -int -qemuBlockReopenFormatMon(qemuMonitor *mon, - virStorageSource *src); - int qemuBlockReopenReadWrite(virDomainObj *vm, virStorageSource *src, --=20 2.42.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Sun May 12 02:04:16 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1700827018065890.4237995474784; Fri, 24 Nov 2023 03:56:58 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id C382019FF; Fri, 24 Nov 2023 06:56:56 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id E92C119F8; Fri, 24 Nov 2023 06:35:54 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id AAF0E188C; Fri, 24 Nov 2023 06:34:40 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 940A4192D for ; Fri, 24 Nov 2023 06:33:36 -0500 (EST) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-272-mSvcatmsN8eSC6MVDiWh9Q-1; Fri, 24 Nov 2023 06:33:33 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id DB788821BC4 for ; Fri, 24 Nov 2023 11:33:32 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.11]) by smtp.corp.redhat.com (Postfix) with ESMTP id 62B1C1121306 for ; Fri, 24 Nov 2023 11:33:32 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: mSvcatmsN8eSC6MVDiWh9Q-1 From: Peter Krempa To: devel@lists.libvirt.org Subject: [PATCH 14/17] qemuBlockReopenAccess: prepare for removal of 'raw' format layer Date: Fri, 24 Nov 2023 12:33:17 +0100 Message-ID: <816d14dbf5f3767edbd0c994e865cd4e90c103f7.1700825268.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: EW5JWQRUD6LKUFOYSUDTIDQUNH2TUEHQ X-Message-ID-Hash: EW5JWQRUD6LKUFOYSUDTIDQUNH2TUEHQ X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1700827019420100001 Make the helper reopening a blockdev for access pick the correct layer to reopen based on what is currently in use. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_block.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index c62f8fe5f3..0d676f71b0 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -3192,8 +3192,19 @@ qemuBlockReopenAccess(virDomainObj *vm, src->readonly =3D readonly; /* from now on all error paths must use 'goto cleanup' */ - if (!(srcprops =3D qemuBlockStorageSourceGetFormatProps(src, src->back= ingStore))) - return -1; + /* based on which is the current 'effecitve' layer we must reopen the + * appropriate blockdev */ + if (qemuBlockStorageSourceGetFormatNodename(src)) { + if (!(srcprops =3D qemuBlockStorageSourceGetFormatProps(src, src->= backingStore))) + return -1; + } else if (qemuBlockStorageSourceGetSliceNodename(src)) { + if (!(srcprops =3D qemuBlockStorageSourceGetBlockdevStorageSlicePr= ops(src, true))) + return -1; + } else { + if (!(srcprops =3D qemuBlockStorageSourceGetBackendProps(src, + QEMU_BLOCK_= STORAGE_SOURCE_BACKEND_PROPS_EFFECTIVE_NODE))) + return -1; + } if (virJSONValueArrayAppend(reopenoptions, &srcprops) < 0) return -1; --=20 2.42.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Sun May 12 02:04:16 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1700826832302156.07850670465643; Fri, 24 Nov 2023 03:53:52 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 0CB161A05; Fri, 24 Nov 2023 06:53:50 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 0EA3D18BE; Fri, 24 Nov 2023 06:35:31 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 5F3FB1909; Fri, 24 Nov 2023 06:34:02 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id C7962191F for ; Fri, 24 Nov 2023 06:33:35 -0500 (EST) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-310-DJlRmkd2NrSs1ZwGFNWJlQ-1; Fri, 24 Nov 2023 06:33:34 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id AC8CB185A780 for ; Fri, 24 Nov 2023 11:33:33 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.11]) by smtp.corp.redhat.com (Postfix) with ESMTP id 31D101121306 for ; Fri, 24 Nov 2023 11:33:33 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: DJlRmkd2NrSs1ZwGFNWJlQ-1 From: Peter Krempa To: devel@lists.libvirt.org Subject: [PATCH 15/17] qemuMigrationSrcNBDCopyCancel: Use qemuBlockStorageSourceAttachRollback to detach migration NBD blockdevs Date: Fri, 24 Nov 2023 12:33:18 +0100 Message-ID: <08414d6e4d1977444f80d016388abde103fdb782.1700825268.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: M6GR7W7NN2BKSV6Y2DPW5AWVWEEALVAW X-Message-ID-Hash: M6GR7W7NN2BKSV6Y2DPW5AWVWEEALVAW X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1700826832576100001 Rewrite the code to use the common tooling for removing blockdevs instead of the ad-hoc qemuBlockStorageSourceDetachOneBlockdev helper. Use of the common infrastructure will properly handle cases when the raw driver is ommited from the block graph. Since the TLS data object is shared for all migration QMP commands and objects we need to strip it's alias from the definition of the storage source before attempting to detach it. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_migration.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index ac58aa1a8c..0f4c6dbe98 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -938,12 +938,26 @@ qemuMigrationSrcNBDCopyCancel(virDomainObj *vm, for (i =3D 0; i < vm->def->ndisks; i++) { virDomainDiskDef *disk =3D vm->def->disks[i]; qemuDomainDiskPrivate *diskPriv =3D QEMU_DOMAIN_DISK_PRIVATE(disk); + g_autoptr(qemuBlockStorageSourceAttachData) data =3D NULL; if (!diskPriv->migrSource) continue; - qemuBlockStorageSourceDetachOneBlockdev(vm, asyncJob, - diskPriv->migrSource); + /* remove the alias of the TLS object when we're about to detach t= he + * migration NBD blockdev as the TLS object is shared for the migr= ation + * and we don't want to detach it. The alias is not needed after + * the JSON object of the blockdev props is formatted */ + g_clear_pointer(&diskPriv->migrSource->tlsAlias, g_free); + + data =3D qemuBlockStorageSourceDetachPrepare(diskPriv->migrSource); + + if (qemuDomainObjEnterMonitorAsync(vm, asyncJob) < 0) + goto cleanup; + + qemuBlockStorageSourceAttachRollback(qemuDomainGetMonitor(vm), dat= a); + + qemuDomainObjExitMonitor(vm); + g_clear_pointer(&diskPriv->migrSource, virObjectUnref); } --=20 2.42.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Sun May 12 02:04:16 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1700826900357414.5363782686227; Fri, 24 Nov 2023 03:55:00 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 1F69717B4; Fri, 24 Nov 2023 06:54:59 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 12C4017B5; Fri, 24 Nov 2023 06:35:39 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 4B06D1924; Fri, 24 Nov 2023 06:34:05 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 2CBE51926 for ; Fri, 24 Nov 2023 06:33:36 -0500 (EST) Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-68-jtxpJ7-fMSyki_Xf3eGO2A-1; Fri, 24 Nov 2023 06:33:34 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 761683800BA5 for ; Fri, 24 Nov 2023 11:33:34 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.11]) by smtp.corp.redhat.com (Postfix) with ESMTP id F3FFE112130A for ; Fri, 24 Nov 2023 11:33:33 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: jtxpJ7-fMSyki_Xf3eGO2A-1 From: Peter Krempa To: devel@lists.libvirt.org Subject: [PATCH 16/17] qemu: block: Remove unused qemuBlockStorageSourceDetachOneBlockdev Date: Fri, 24 Nov 2023 12:33:19 +0100 Message-ID: <5937e57795d608d4f34fa8f595c1922387bb90ba.1700825268.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: 7IYSR4P37LQXXTYJKKBXMSBYVD2A37UM X-Message-ID-Hash: 7IYSR4P37LQXXTYJKKBXMSBYVD2A37UM X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1700826901039100001 The only caller was converted to use the common blockdev infrastructure thus this function is no longer needed. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_block.c | 34 ---------------------------------- src/qemu/qemu_block.h | 5 ----- 2 files changed, 39 deletions(-) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index 0d676f71b0..5abbfab67e 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -1942,40 +1942,6 @@ qemuBlockStorageSourceChainDetach(qemuMonitor *mon, } -/** - * qemuBlockStorageSourceDetachOneBlockdev: - * @driver: qemu driver object - * @vm: domain object - * @asyncJob: currently running async job - * @src: storage source to detach - * - * Detaches one virStorageSource using blockdev-del. Note that this does n= ot - * detach any authentication/encryption objects. This function enters the - * monitor internally. - */ -int -qemuBlockStorageSourceDetachOneBlockdev(virDomainObj *vm, - virDomainAsyncJob asyncJob, - virStorageSource *src) -{ - int ret; - - if (qemuDomainObjEnterMonitorAsync(vm, asyncJob) < 0) - return -1; - - ret =3D qemuMonitorBlockdevDel(qemuDomainGetMonitor(vm), - qemuBlockStorageSourceGetFormatNodename(s= rc)); - - if (ret =3D=3D 0) - ret =3D qemuMonitorBlockdevDel(qemuDomainGetMonitor(vm), - qemuBlockStorageSourceGetStorageNoden= ame(src)); - - qemuDomainObjExitMonitor(vm); - - return ret; -} - - int qemuBlockSnapshotAddBlockdev(virJSONValue *actions, virDomainDiskDef *disk, diff --git a/src/qemu/qemu_block.h b/src/qemu/qemu_block.h index f37e10216c..0eab0d822c 100644 --- a/src/qemu/qemu_block.h +++ b/src/qemu/qemu_block.h @@ -149,11 +149,6 @@ void qemuBlockStorageSourceAttachRollback(qemuMonitor *mon, qemuBlockStorageSourceAttachData *dat= a); -int -qemuBlockStorageSourceDetachOneBlockdev(virDomainObj *vm, - virDomainAsyncJob asyncJob, - virStorageSource *src); - struct _qemuBlockStorageSourceChainData { qemuBlockStorageSourceAttachData **srcdata; size_t nsrcdata; --=20 2.42.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Sun May 12 02:04:16 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1700826958607627.3901546502699; Fri, 24 Nov 2023 03:55:58 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 770201A93; Fri, 24 Nov 2023 06:55:57 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 1DE0519B7; Fri, 24 Nov 2023 06:35:47 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 8A9D118B3; Fri, 24 Nov 2023 06:34:40 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 7808C1939 for ; Fri, 24 Nov 2023 06:33:37 -0500 (EST) Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-440-GTLBVB8GNmKC9jNkldEXkQ-1; Fri, 24 Nov 2023 06:33:35 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 496D33800BA5 for ; Fri, 24 Nov 2023 11:33:35 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.11]) by smtp.corp.redhat.com (Postfix) with ESMTP id BD2AD1121306 for ; Fri, 24 Nov 2023 11:33:34 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: GTLBVB8GNmKC9jNkldEXkQ-1 From: Peter Krempa To: devel@lists.libvirt.org Subject: [PATCH 17/17] qemuMigrationSrcNBDStorageCopyBlockdevPrepareSource: Don't setup 'raw' layer for migration NBD connection Date: Fri, 24 Nov 2023 12:33:20 +0100 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: SKUFW6MAA5R62SXMGHVEPBDGVHR2K3VC X-Message-ID-Hash: SKUFW6MAA5R62SXMGHVEPBDGVHR2K3VC X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1700826959252100001 The raw driver layer is not needed in this case and can be dropped. Removing the nodename will cause other pieces of the code to pick up and stop addign the layer. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_migration.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 0f4c6dbe98..f9c34b72e8 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -1026,7 +1026,6 @@ qemuMigrationSrcNBDStorageCopyBlockdevPrepareSource(v= irDomainDiskDef *disk, copysrc->tlsHostname =3D g_strdup(tlsHostname); qemuBlockStorageSourceSetStorageNodename(copysrc, g_strdup_printf("mig= ration-%s-storage", disk->dst)); - qemuBlockStorageSourceSetFormatNodename(copysrc, g_strdup_printf("migr= ation-%s-format", disk->dst)); return g_steal_pointer(©src); } --=20 2.42.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org