From nobody Sat Feb 7 11:31:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1770303470; cv=none; d=zohomail.com; s=zohoarc; b=M+Ghmy3wp0tugd9wQuRP27Io8DmM80ZGJQ/X0fz9O7ZYTFAp7n/VQLuMlIV9rp7nTpdxkFHTJRJZfl19wFPWSlmPLIVyWkIi2k5KoFF81DxTiASG19PRemMp52P4WylYD1+IezymfIzibhBYPYYMGqxbqkMqtcM59vxe7vSaj2U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770303470; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=GXeIuIpIN+jSfjMlY0YvgS6op22vYpbrVI92VKGf++I=; b=mkhVw671h7SAKqPCku9//yda8uOI+lEBeJ5AdCRajWsg/HYmPzjy2Iwz86PICg/+dg9cjsln2v41LgGmxoNQGoioInxVQmvpbTNE2LHLYulKSygJ5CymuCA2VSdzb10V0XnITmDAqXG2QjMMv4RECVhrrvNqAL31cSJvbEP38Hw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1770303470054168.2581228699172; Thu, 5 Feb 2026 06:57:50 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id 6504D41A2A; Thu, 5 Feb 2026 09:57:49 -0500 (EST) Received: from [172.19.199.6] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 7AE2141C4D; Thu, 5 Feb 2026 09:55:42 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id 916E8418A5; Thu, 5 Feb 2026 09:55:38 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 2BCE93F316 for ; Thu, 5 Feb 2026 09:55:34 -0500 (EST) Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-150-p45QfahAO0mcHjWeEqr9nA-1; Thu, 05 Feb 2026 09:55:32 -0500 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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 mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id A8F8D1955E7A for ; Thu, 5 Feb 2026 14:55:31 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.3]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id F2E5F1800464 for ; Thu, 5 Feb 2026 14:55:30 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770303333; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GXeIuIpIN+jSfjMlY0YvgS6op22vYpbrVI92VKGf++I=; b=JT42bt7m5AcfRTp1Pkkx7M4AjSLzGuZMh1MDbNo1ddJrX3EVQ2odrChwsfokuwK8UMaTHe O/hVHfcgMHTIQeCC3jYq+AE/gDB4DGikmSR7MLvpjjXOCXJsx/MzOY6fUhDVzDvFfEvbSf j7wlMfV3DHUD7VSAn5w7A/0sllBzw6A= X-MC-Unique: p45QfahAO0mcHjWeEqr9nA-1 X-Mimecast-MFC-AGG-ID: p45QfahAO0mcHjWeEqr9nA_1770303331 To: devel@lists.libvirt.org Subject: [PATCH 01/20] qemuDomainDiskInfo: Drop 'nodename' field Date: Thu, 5 Feb 2026 15:55:09 +0100 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: _A2SoYhEhXYRB3SUqaF0DZsz9HA_jDaBuAXsKeVosio_1770303331 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: DASMRNXHSRZCX4PITUOWCCQ3QKKGQVFM X-Message-ID-Hash: DASMRNXHSRZCX4PITUOWCCQ3QKKGQVFM X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1770303473012154100 Content-Type: text/plain; charset="utf-8" From: Peter Krempa The field is only read in tests. Other code using it no longer exists. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_domain.h | 1 - src/qemu/qemu_monitor.c | 1 - src/qemu/qemu_monitor_json.c | 5 +---- tests/qemumonitorjsontest.c | 4 ++-- 4 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index 3361e97315..095c36b8ac 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -364,7 +364,6 @@ struct qemuDomainDiskInfo { bool tray_open; bool empty; int io_status; - char *nodename; }; #define QEMU_DOMAIN_CHR_SOURCE_PRIVATE(dev) \ diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 504500c864..6acc80832c 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -1947,7 +1947,6 @@ qemuDomainDiskInfoFree(void *value) { struct qemuDomainDiskInfo *info =3D value; - g_free(info->nodename); g_free(info); } diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index f345741207..a7e095a648 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -2304,7 +2304,6 @@ qemuMonitorJSONBlockInfoAdd(GHashTable *table, tmp =3D g_new0(struct qemuDomainDiskInfo, 1); *tmp =3D *info; - tmp->nodename =3D g_strdup(info->nodename); g_hash_table_insert(table, g_strdup(entryname), tmp); @@ -2360,9 +2359,7 @@ qemuMonitorJSONGetBlockInfo(qemuMonitor *mon, info.tray =3D true; /* presence of 'inserted' notifies that a medium is in the device = */ - if ((image =3D virJSONValueObjectGetObject(dev, "inserted"))) { - info.nodename =3D (char *) virJSONValueObjectGetString(image, = "node-name"); - } else { + if (!(image =3D virJSONValueObjectGetObject(dev, "inserted"))) { info.empty =3D true; } diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index bfe81739a7..efa2400750 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -1354,9 +1354,9 @@ static void testQemuMonitorJSONGetBlockInfoPrint(const struct qemuDomainDiskInfo *d) { VIR_TEST_VERBOSE("removable: %d, tray: %d, tray_open: %d, empty: %d, " - "io_status: %d, nodename: '%s'", + "io_status: %d", d->removable, d->tray, d->tray_open, d->empty, - d->io_status, NULLSTR(d->nodename)); + d->io_status); } --=20 2.53.0 From nobody Sat Feb 7 11:31:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1770303578; cv=none; d=zohomail.com; s=zohoarc; b=hx2IzN+8IOXOyG1hsWVPWvRWnfabXHIyhvdkqZI3UuiN/2rY+JvsW4VyXGHtq8CT1aA1BZWYwQNe2wzaqcm4iwiaJ4ooNzUnIZSZRfQHmqThNCd66EPDmfA2QKqkwAQu2jRI2XFOjJ+TCoINYacJ66njp+dE7eYcP3XF11kZIm8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770303578; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=oEZ5o+QtzWVNwiY10IDl81eJ9ft5BjqICeBx07L7xMc=; b=KUXZZ/eU/FKWBbSwuPHTRgewxSivq+SXTZdkfP6CO5zRrtHD3kyRf7cJX91lGA9KLvbCCxlGeK4v5ZRGzaHGzCC1Vfz9n0bICFU8pmnT0j/+csfEjnDyqLpFHh94UnZ8BisgFAgekjR6LXH7XjnHX9zHWtZk3BIXkK9yv4ApG44= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1770303578021298.23912155272035; Thu, 5 Feb 2026 06:59:38 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id 6467143DBD; Thu, 5 Feb 2026 09:59:37 -0500 (EST) Received: from [172.19.199.6] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id F229F41A12; Thu, 5 Feb 2026 09:55:46 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id 1386B41BEA; Thu, 5 Feb 2026 09:55:41 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id AFAD1418C8 for ; Thu, 5 Feb 2026 09:55:36 -0500 (EST) Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-175-Wn4YF1BEOpGJ928V88_Bbw-1; Thu, 05 Feb 2026 09:55:33 -0500 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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 mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id D970818001D1 for ; Thu, 5 Feb 2026 14:55:32 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.3]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 2B9E118003F6 for ; Thu, 5 Feb 2026 14:55:31 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770303336; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=oEZ5o+QtzWVNwiY10IDl81eJ9ft5BjqICeBx07L7xMc=; b=HTpX74gVx7zuDiijkWVuAyQWFmQsYTpEb4hb3ezzxj82NQ+Zx/1ObrvaSLTYMUHCPqIDsS P7yjofeqmO4sD1SuUgC8jcw0Y5MwHCuLyd1yzEpvcf8+5FViyIzA4usxnnYMT/0VBU009J D8NQni9kZkVnb4RTWwfX+Wtfr3/WIeo= X-MC-Unique: Wn4YF1BEOpGJ928V88_Bbw-1 X-Mimecast-MFC-AGG-ID: Wn4YF1BEOpGJ928V88_Bbw_1770303333 To: devel@lists.libvirt.org Subject: [PATCH 02/20] qemu: Remove 'removable' field from 'qemuDomainDiskPrivate' Date: Thu, 5 Feb 2026 15:55:10 +0100 Message-ID: <45de04c72a083aa0bab8daa5fda8e599cabe2c8c.1770303113.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: v2Lh9Hglm1q3eaW2wq61q0s0jhnTTsoBVz0oitpIvgE_1770303333 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: WX4LD6KIROGGOC735D3SVDHCYJSDSQKB X-Message-ID-Hash: WX4LD6KIROGGOC735D3SVDHCYJSDSQKB X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1770303580680154101 Content-Type: text/plain; charset="utf-8" From: Peter Krempa The field is only set, but never read. Drop it. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_domain.h | 2 -- src/qemu/qemu_process.c | 1 - 2 files changed, 3 deletions(-) diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index 095c36b8ac..20d6bd316c 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -288,9 +288,7 @@ struct _qemuDomainDiskPrivate { virStorageSource *migrSource; /* disk source object used for NBD migra= tion */ bool migrationslice; /* storage slice was added for migration purposes= */ - /* information about the device */ bool tray; /* device has tray */ - bool removable; /* device media can be removed/changed */ char *qomName; /* QOM path of the disk (also refers to the block backe= nd) */ char *nodeCopyOnRead; /* nodename of the disk-wide copy-on-read blockd= ev layer */ diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index c5b2a5fda8..fba1dbe844 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -9555,7 +9555,6 @@ qemuProcessRefreshDiskProps(virDomainDiskDef *disk, } } - diskpriv->removable =3D info->removable; diskpriv->tray =3D info->tray; } --=20 2.53.0 From nobody Sat Feb 7 11:31:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1770303525; cv=none; d=zohomail.com; s=zohoarc; b=Drlsnzd/WtNte6yvyLaR4BzoCfw5mglJxB4IcpY3tKdQU8VCHVJUZHUNm90LG8WVrCoZREqCMw/JQjVNVoJh3uBOCg1UTRzqWGuYNmsnOgbQtNFnQ73ojlrZ5wScr72Scq0gOVMmd7BC0opypB0dz4cRoYCxgL+h2fUrTDbATDc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770303525; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=tELNv6crjns+vm9573pmvWq5GOJl7PekGMngUFQb65Y=; b=EBpbINpZRCd+FQDSXP2vyC1hYcU3yO5Fc96MtZlspKiflbueq8MNVKFCGtuSNiahhajOeFQFZGCm6WMC1kgGLKX8ASkHrvzxgoD2b8CX58EldZKkVP/kMN1QaUkvHhwRMJ7dQSMF/rj5Kw0v/MBvxb9rezaKEqWTQiP0WcoxqUY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1770303525112876.8438473293883; Thu, 5 Feb 2026 06:58:45 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id 0F97743DBE; Thu, 5 Feb 2026 09:58:44 -0500 (EST) Received: from [172.19.199.6] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 20C1D43DC1; Thu, 5 Feb 2026 09:55:45 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id DB05741BC1; Thu, 5 Feb 2026 09:55:41 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 8428F4185E for ; Thu, 5 Feb 2026 09:55:36 -0500 (EST) Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-307-EwCDu1i5PbWgcUXVKC5ZQw-1; Thu, 05 Feb 2026 09:55:34 -0500 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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 mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 2631818011D1 for ; Thu, 5 Feb 2026 14:55:34 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.3]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 5055B18004AD for ; Thu, 5 Feb 2026 14:55:33 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770303336; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=tELNv6crjns+vm9573pmvWq5GOJl7PekGMngUFQb65Y=; b=eR04tm1yY32wkjoFnf4YI8xJuFHxwOzjP/zbAkHJActW42P/NbxYy3g8tPWogalOV106pv NMq1uQpvlp9vz2YOfeL5JvBLdFvD7XRtQUkOIGT81oCEpzJqlbhiLEJFiyvKR17Vrnzc8+ wJt/U4fO1lQHJfpuKa6mVDMr0O04btE= X-MC-Unique: EwCDu1i5PbWgcUXVKC5ZQw-1 X-Mimecast-MFC-AGG-ID: EwCDu1i5PbWgcUXVKC5ZQw_1770303334 To: devel@lists.libvirt.org Subject: [PATCH 03/20] qemuProcessRefreshDiskProps: Drop code to remove disk source Date: Thu, 5 Feb 2026 15:55:11 +0100 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: n0EmEj7XMPm3PAAPmjoXBJld68OFaZ55lhbh1Vdjqig_1770303334 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: F6Z55EHDJILSHTPKORJ3GP6Y4Z5LCOUZ X-Message-ID-Hash: F6Z55EHDJILSHTPKORJ3GP6Y4Z5LCOUZ X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1770303526009158500 Content-Type: text/plain; charset="utf-8" From: Peter Krempa In blockdev mode, the guest OS can't force the drive to become empty (opening cdrom tray doesn't remove media; floppies can't be ejected from guest OS), so the check if a drive is empty is dead code at this point. Remove it. Signed-off-by: Peter Krempa --- src/qemu/qemu_process.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index fba1dbe844..c130483659 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -9544,9 +9544,6 @@ qemuProcessRefreshDiskProps(virDomainDiskDef *disk, qemuDomainDiskPrivate *diskpriv =3D QEMU_DOMAIN_DISK_PRIVATE(disk); if (info->removable) { - if (info->empty) - virDomainDiskEmptySource(disk); - if (info->tray) { if (info->tray_open) disk->tray_status =3D VIR_DOMAIN_DISK_TRAY_OPEN; --=20 2.53.0 From nobody Sat Feb 7 11:31:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1770303644; cv=none; d=zohomail.com; s=zohoarc; b=QNu8MnYNwAb+T07em15q7Aq2PEcexLUN2y8q5JQ2c5jgqIOQ7QAby4ajfq76m+UTf8GbETITBxbGmOIChv+QTExMbY3scZMbjl9nFJpwSyW9Z9cd6oEHdrUtFqAPdudeLvnEhzFEieFrDkYSqTeQHHk1Ef1F8cCRC4vG47MsqoM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770303644; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=86cj0frv57dK2swg21JbK/5lIZapXlBroKc8GjkNKd8=; b=VMJwL5ysN7bSgMIl6Fx8t22BMaNxgDa4lxbdGMoOt4A9PKuBHEeiTjT630YzqiDVzcMoD0eKLde7yOjuxOBS7d0SCxCX0HGH8D4d8UenrJBkt4vyXcTWn3pYMon7uIIe2DNZJiZPDMYa4rRkvRGtVSVXrRYhebWy+JztwgXSqJE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1770303644419570.7318071666168; Thu, 5 Feb 2026 07:00:44 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id 8943841A0D; Thu, 5 Feb 2026 10:00:43 -0500 (EST) Received: from [172.19.199.6] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 599A043E80; Thu, 5 Feb 2026 09:56:00 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id 1894341B5B; Thu, 5 Feb 2026 09:55:56 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 28C1B41A55 for ; Thu, 5 Feb 2026 09:55:40 -0500 (EST) Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-536-gG40lbIsPKCdepqYFZ6ZCg-1; Thu, 05 Feb 2026 09:55:36 -0500 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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 mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 3C8741955D48 for ; Thu, 5 Feb 2026 14:55:35 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.3]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 867E918004AD for ; Thu, 5 Feb 2026 14:55:34 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770303339; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=86cj0frv57dK2swg21JbK/5lIZapXlBroKc8GjkNKd8=; b=VPo7xwZwjsRMQov7bnHLuBusJLuG7GZ2v7SrdXiVNmiGomK1r5yGVdvQ1SJWC6/SFK/La2 QKjOiN/gApX2QVCjcK426JWx07oZMXznp4RgI06sBTYxUm0sTuIYwIPZijlAROICZ/J4he C6bmaL36itpaCbIAzd9eKCOEmgM3jdA= X-MC-Unique: gG40lbIsPKCdepqYFZ6ZCg-1 X-Mimecast-MFC-AGG-ID: gG40lbIsPKCdepqYFZ6ZCg_1770303335 To: devel@lists.libvirt.org Subject: [PATCH 04/20] qemu: Drop 'empty' filed from 'qemuDomainDiskInfo' Date: Thu, 5 Feb 2026 15:55:12 +0100 Message-ID: <01a403570efb506553ef5e698221b21dabec1b04.1770303113.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: WfSDby4XU4K5P0wmzPRvibf3CoJcZdqX-9XE5DigJ48_1770303335 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: OSWOTESJAJXSPCT6RQGOEZELSZ5FH54F X-Message-ID-Hash: OSWOTESJAJXSPCT6RQGOEZELSZ5FH54F X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1770303646745158500 Content-Type: text/plain; charset="utf-8" From: Peter Krempa The value is no longer used so drop the field and also the code which fetches it from the QMP command reply. Signed-off-by: Peter Krempa --- src/qemu/qemu_domain.h | 1 - src/qemu/qemu_monitor_json.c | 6 ------ tests/qemumonitorjsontest.c | 7 ++----- 3 files changed, 2 insertions(+), 12 deletions(-) diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index 20d6bd316c..0f975a22fc 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -360,7 +360,6 @@ struct qemuDomainDiskInfo { bool removable; bool tray; bool tray_open; - bool empty; int io_status; }; diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index a7e095a648..bf9e59c0b6 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -2323,7 +2323,6 @@ qemuMonitorJSONGetBlockInfo(qemuMonitor *mon, for (i =3D 0; i < virJSONValueArraySize(devices); i++) { virJSONValue *dev; - virJSONValue *image; struct qemuDomainDiskInfo info =3D { false }; const char *thisdev; const char *status; @@ -2358,11 +2357,6 @@ qemuMonitorJSONGetBlockInfo(qemuMonitor *mon, if (virJSONValueObjectGetBoolean(dev, "tray_open", &info.tray_open= ) =3D=3D 0) info.tray =3D true; - /* presence of 'inserted' notifies that a medium is in the device = */ - if (!(image =3D virJSONValueObjectGetObject(dev, "inserted"))) { - info.empty =3D true; - } - /* Missing io-status indicates no error */ if ((status =3D virJSONValueObjectGetString(dev, "io-status"))) { info.io_status =3D qemuMonitorBlockIOStatusToError(status); diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index efa2400750..699b75ce2d 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -1353,10 +1353,8 @@ testQemuMonitorJSONqemuMonitorJSONGetBalloonInfo(con= st void *opaque) static void testQemuMonitorJSONGetBlockInfoPrint(const struct qemuDomainDiskInfo *d) { - VIR_TEST_VERBOSE("removable: %d, tray: %d, tray_open: %d, empty: %d, " - "io_status: %d", - d->removable, d->tray, d->tray_open, d->empty, - d->io_status); + VIR_TEST_VERBOSE("removable: %d, tray: %d, tray_open: %d, io_status: %= d", + d->removable, d->tray, d->tray_open, d->io_status); } @@ -1418,7 +1416,6 @@ testQemuMonitorJSONqemuMonitorJSONGetBlockInfo(const = void *opaque) info->removable =3D true; info->tray =3D true; - info->empty =3D true; if (virHashAddEntry(expectedBlockDevices, "ide0-1-1", info) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", --=20 2.53.0 From nobody Sat Feb 7 11:31:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1770303813; cv=none; d=zohomail.com; s=zohoarc; b=OgG3bcvpT1bp0tM13DiLj7+snQVcO4oPOkY1Uybf2n8h9XYwayZQWLe6FXBTxrVjZPz8agpSqcx+hqB8qRpa30aquZlGNZPeVJIeZCL3urAuHp9OLFHJApZil6WbCXKZ68e1x3lfjPaajP2++XJko3LNbzINmjElrGslza620ko= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770303813; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=riF0Gd/9K3jBuYSnAYbgjWkk7npwL+0LvHbqj8p9toQ=; b=V1sECRUV7RDejvxNNN6SqWoLBuLgxEnpCVuzBIU2iGbUJEHYBBZqxW1NPV2dYw3LZE7Aj8xgMF3XJG61+uOAubWSb+9BzNhp57XQ7LLFGhZjPQ8Xy8Z9qXXLMaydg41vfGfqPi0quLiK1GV8ukWw7AKwPU2hoFbZARpgjm6fI5c= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 177030381377932.96107785368679; Thu, 5 Feb 2026 07:03:33 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id EADDC41DE1; Thu, 5 Feb 2026 10:03:32 -0500 (EST) Received: from [172.19.199.6] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 53F3D43F0D; Thu, 5 Feb 2026 09:57:36 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id A1FF7418DF; Thu, 5 Feb 2026 09:57:30 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 19649418DF for ; Thu, 5 Feb 2026 09:55:42 -0500 (EST) Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-678-NgoP0ZCDPqy-BaOTaa-Jyw-1; Thu, 05 Feb 2026 09:55:37 -0500 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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 mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 6205918004BB for ; Thu, 5 Feb 2026 14:55:36 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.3]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id A94CC1800464 for ; Thu, 5 Feb 2026 14:55:35 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770303341; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=riF0Gd/9K3jBuYSnAYbgjWkk7npwL+0LvHbqj8p9toQ=; b=gdWjjdkC9zkQqbSZsmIrEHT2F8areiTlj+U+pQkIXsqmvUCHo9u1NCs+NjBPBlh6Fccg5F ZyJa81erAsGcZKcvnG6JxiyExeAWTXUlERAOFnfbuKDcTEji0Q7NsL8ZJUpUSpDRlFrfB4 5Ubgjt8n+eEPep9GbZtwGcGAcax4HnU= X-MC-Unique: NgoP0ZCDPqy-BaOTaa-Jyw-1 X-Mimecast-MFC-AGG-ID: NgoP0ZCDPqy-BaOTaa-Jyw_1770303336 To: devel@lists.libvirt.org Subject: [PATCH 05/20] qemuMigrationSrcBegin: Drop disk refresh step Date: Thu, 5 Feb 2026 15:55:13 +0100 Message-ID: <298ef706f53538bf83386f71cd4e6b676639e57b.1770303113.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: ycrbhFdwVYAfrv752_A4c0XsMUT102iqC4TEOgMrL-I_1770303336 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: BKRLWIK6OOKD5MRUJVJZ4TF4PMWI4VGK X-Message-ID-Hash: BKRLWIK6OOKD5MRUJVJZ4TF4PMWI4VGK X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1770303816285154100 Content-Type: text/plain; charset="utf-8" From: Peter Krempa Since 'qemuProcessRefreshDiskProps' doesn't remove the source since we switched to blockdev mode, we don't need to update disk state at the beginning of migration. Signed-off-by: Peter Krempa --- src/qemu/qemu_migration.c | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index b4d2e27370..88db5e93fa 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -3016,7 +3016,6 @@ qemuMigrationSrcBegin(virConnectPtr conn, g_autoptr(virQEMUDriverConfig) cfg =3D virQEMUDriverGetConfig(driver); g_autofree char *xml =3D NULL; char *ret =3D NULL; - virDomainAsyncJob asyncJob; if (cfg->migrateTLSForce && !(flags & VIR_MIGRATE_TUNNELLED) && @@ -3035,14 +3034,12 @@ qemuMigrationSrcBegin(virConnectPtr conn, if ((flags & VIR_MIGRATE_CHANGE_PROTECTION)) { if (qemuMigrationJobStart(vm, VIR_ASYNC_JOB_MIGRATION_OUT, flags) = < 0) goto cleanup; - asyncJob =3D VIR_ASYNC_JOB_MIGRATION_OUT; } else { if (!qemuMigrationJobIsAllowed(vm)) goto cleanup; if (virDomainObjBeginJob(vm, VIR_JOB_MODIFY) < 0) goto cleanup; - asyncJob =3D VIR_ASYNC_JOB_NONE; } qemuMigrationSrcStoreDomainState(vm); @@ -3050,13 +3047,6 @@ qemuMigrationSrcBegin(virConnectPtr conn, if (!(flags & VIR_MIGRATE_OFFLINE) && virDomainObjCheckActive(vm) < 0) goto endjob; - /* Check if there is any ejected media. - * We don't want to require them on the destination. - */ - if (!(flags & VIR_MIGRATE_OFFLINE) && - qemuProcessRefreshDisks(vm, asyncJob) < 0) - goto endjob; - if (!(xml =3D qemuMigrationSrcBeginPhase(driver, vm, xmlin, dname, cookieout, cookieoutlen, migrate_disks, --=20 2.53.0 From nobody Sat Feb 7 11:31:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1770303773; cv=none; d=zohomail.com; s=zohoarc; b=a8Nfyn1s+XZ7zHP/dridoc5KKK1PS6xZRL2+hVO7/JbKT6c2UreZscQUXYWln/xQEun8OO7V8iut/hkJOYQVxwd1oulYRbY1VL0z09c7wlbCNQlcTeWB/izz+PwmahKwntn2pstj40E/kjJ3mWTZf5hGXYBkjm1bEu0isyjF1fw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770303773; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=/OPTZY56i4sX2Uq8vH6z2nsLBf/AGwi8RVIBs8WRvOk=; b=hdn0qdEwo17haYJhHLNtolrrwmk5odnTSPkYE8Qt32qiJENwTarZ4nWkA9ykmL6wDlgV7T1ZtCW9larBlMgzNoOcawziUVFPNZp28qVjKIiDeDxWVi40uq9s6DhcjpIeGllo1Dcqadk+DrLn7+r5KenjJju/E1mAdxhxCGDxA5w= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1770303773160667.048960405742; Thu, 5 Feb 2026 07:02:53 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id 2AC0E43EA9; Thu, 5 Feb 2026 10:02:52 -0500 (EST) Received: from [172.19.199.6] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id AFFE643ECF; Thu, 5 Feb 2026 09:57:01 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id A47AC41A10; Thu, 5 Feb 2026 09:56:53 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 73FA741B9F for ; Thu, 5 Feb 2026 09:55:41 -0500 (EST) Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-619-KP0qXEGvMIuRvBdpSjlhIw-1; Thu, 05 Feb 2026 09:55:38 -0500 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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 mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 821B31955F44 for ; Thu, 5 Feb 2026 14:55:37 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.3]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id CC04C180066A for ; Thu, 5 Feb 2026 14:55:36 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770303341; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=/OPTZY56i4sX2Uq8vH6z2nsLBf/AGwi8RVIBs8WRvOk=; b=RdnoI0cgAFwn/ZCqwr7CbG75+fCNHjVSLiJ4DqYit4TddHMBX24IPU+4+C+X9JzsxjAlFz dPPtpROEpiVA3zJ940FhROy4OCQRSGM5hGg0kp+VlQ7TjXy9OzO7+31aQCaEszSGkHMS0P ZcAFBVVVtoHVX4zcg6mvHoP7hqnjIqQ= X-MC-Unique: KP0qXEGvMIuRvBdpSjlhIw-1 X-Mimecast-MFC-AGG-ID: KP0qXEGvMIuRvBdpSjlhIw_1770303337 To: devel@lists.libvirt.org Subject: [PATCH 06/20] qemu: process: Unexport 'qemuProcessRefreshDisks' Date: Thu, 5 Feb 2026 15:55:14 +0100 Message-ID: <6161b346b339db73e6661f9044c01750111bce84.1770303113.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: 81bEbE6VqdB2VzooCyFXwRy206KSz3mtgz0IAdK-ASk_1770303337 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: 4XGVIKQ63F6FT2TCNSAXGNIHLJEZ5BPV X-Message-ID-Hash: 4XGVIKQ63F6FT2TCNSAXGNIHLJEZ5BPV X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1770303775782154100 Content-Type: text/plain; charset="utf-8" From: Peter Krempa Since it's currently called above the place where it is defined we also need to move it within qemu_process.c. Signed-off-by: Peter Krempa --- src/qemu/qemu_process.c | 98 ++++++++++++++++++++--------------------- src/qemu/qemu_process.h | 3 -- 2 files changed, 49 insertions(+), 52 deletions(-) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index c130483659..ba8bda0f99 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -8639,6 +8639,55 @@ qemuProcessRefreshRxFilters(virDomainObj *vm, } +static int +qemuProcessRefreshDisks(virDomainObj *vm, + virDomainAsyncJob asyncJob) +{ + qemuDomainObjPrivate *priv =3D vm->privateData; + virQEMUDriver *driver =3D priv->driver; + g_autoptr(GHashTable) table =3D NULL; + size_t i; + + if (qemuDomainObjEnterMonitorAsync(vm, asyncJob) =3D=3D 0) { + table =3D qemuMonitorGetBlockInfo(priv->mon); + qemuDomainObjExitMonitor(vm); + } + + if (!table) + return -1; + + for (i =3D 0; i < vm->def->ndisks; i++) { + virDomainDiskDef *disk =3D vm->def->disks[i]; + qemuDomainDiskPrivate *diskpriv =3D QEMU_DOMAIN_DISK_PRIVATE(disk); + struct qemuDomainDiskInfo *info; + const char *entryname =3D disk->info.alias; + virDomainDiskTray old_tray_status =3D disk->tray_status; + + if (diskpriv->qomName) + entryname =3D diskpriv->qomName; + + if (!(info =3D virHashLookup(table, entryname))) + continue; + + qemuProcessRefreshDiskProps(disk, info); + + if (diskpriv->tray && + old_tray_status !=3D disk->tray_status) { + virDomainEventTrayChangeReason reason =3D VIR_DOMAIN_EVENT_TRA= Y_CHANGE_OPEN; + virObjectEvent *event; + + if (disk->tray_status =3D=3D VIR_DOMAIN_DISK_TRAY_CLOSED) + reason =3D VIR_DOMAIN_EVENT_TRAY_CHANGE_CLOSE; + + event =3D virDomainEventTrayChangeNewFromObj(vm, disk->info.al= ias, reason); + virObjectEventStateQueue(driver->domainEventState, event); + } + } + + return 0; +} + + /** * qemuProcessRefreshState: * @driver: qemu driver data @@ -9556,55 +9605,6 @@ qemuProcessRefreshDiskProps(virDomainDiskDef *disk, } -int -qemuProcessRefreshDisks(virDomainObj *vm, - virDomainAsyncJob asyncJob) -{ - qemuDomainObjPrivate *priv =3D vm->privateData; - virQEMUDriver *driver =3D priv->driver; - g_autoptr(GHashTable) table =3D NULL; - size_t i; - - if (qemuDomainObjEnterMonitorAsync(vm, asyncJob) =3D=3D 0) { - table =3D qemuMonitorGetBlockInfo(priv->mon); - qemuDomainObjExitMonitor(vm); - } - - if (!table) - return -1; - - for (i =3D 0; i < vm->def->ndisks; i++) { - virDomainDiskDef *disk =3D vm->def->disks[i]; - qemuDomainDiskPrivate *diskpriv =3D QEMU_DOMAIN_DISK_PRIVATE(disk); - struct qemuDomainDiskInfo *info; - const char *entryname =3D disk->info.alias; - virDomainDiskTray old_tray_status =3D disk->tray_status; - - if (diskpriv->qomName) - entryname =3D diskpriv->qomName; - - if (!(info =3D virHashLookup(table, entryname))) - continue; - - qemuProcessRefreshDiskProps(disk, info); - - if (diskpriv->tray && - old_tray_status !=3D disk->tray_status) { - virDomainEventTrayChangeReason reason =3D VIR_DOMAIN_EVENT_TRA= Y_CHANGE_OPEN; - virObjectEvent *event; - - if (disk->tray_status =3D=3D VIR_DOMAIN_DISK_TRAY_CLOSED) - reason =3D VIR_DOMAIN_EVENT_TRAY_CHANGE_CLOSE; - - event =3D virDomainEventTrayChangeNewFromObj(vm, disk->info.al= ias, reason); - virObjectEventStateQueue(driver->domainEventState, event); - } - } - - return 0; -} - - static int qemuProcessRefreshCPUMigratability(virDomainObj *vm, virDomainAsyncJob asyncJob) diff --git a/src/qemu/qemu_process.h b/src/qemu/qemu_process.h index 426e11d79e..201b3ebb63 100644 --- a/src/qemu/qemu_process.h +++ b/src/qemu/qemu_process.h @@ -218,9 +218,6 @@ int qemuRefreshVirtioChannelState(virQEMUDriver *driver, int qemuProcessRefreshBalloonState(virDomainObj *vm, int asyncJob); -int qemuProcessRefreshDisks(virDomainObj *vm, - virDomainAsyncJob asyncJob); - int qemuProcessStartManagedPRDaemon(virDomainObj *vm) ATTRIBUTE_MOCKABLE; void qemuProcessKillManagedPRDaemon(virDomainObj *vm) ATTRIBUTE_MOCKABLE; --=20 2.53.0 From nobody Sat Feb 7 11:31:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1770303716; cv=none; d=zohomail.com; s=zohoarc; b=ja/8juPe6+jwGAmgt1dF0VR2ZTk85uxQCguVHdhdEIzsg1nWV3gbULop1gsboIXWHpNVhvKiXUdYIXTkRq3O8pLDA5fZ0WIZ3F5P4ufr6uwBXouUnvvsAbKU40bPSNAm6zuHfwTZGi11n+bOFPCQV7ZBra8UCJSCH/J1f3eYzBs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770303716; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=FjZfR6Sr73J91RtYONyzPHI4YE6QCaVegs+kni9pOW8=; b=ZHtZIMTEkSntpsKHxSEdXun9fH0uym9dxj8Vzk0s0BuC12U8apcSWQ6IEM9jIF8spC9/gp/wGJesgrSiMsb8GfRmCPJvM0vzy1LsIXGXR/VxTxXdvkIr4T9UJQDsSVurhjS8KUSYL98Tss2TueipMP0+g7cQ+/aC+R6SJIVceXU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1770303716039385.00965430597955; Thu, 5 Feb 2026 07:01:56 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id 4CF4B43E7B; Thu, 5 Feb 2026 10:01:55 -0500 (EST) Received: from [172.19.199.6] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 378D03F36B; Thu, 5 Feb 2026 09:57:00 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id 7113141A7C; Thu, 5 Feb 2026 09:56:53 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id CC98041B52 for ; Thu, 5 Feb 2026 09:55:40 -0500 (EST) Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-7-PwelujHxO_ywd9iJtCK8rQ-1; Thu, 05 Feb 2026 09:55:39 -0500 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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 mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id A072D1800365 for ; Thu, 5 Feb 2026 14:55:38 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.3]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id EB732180066F for ; Thu, 5 Feb 2026 14:55:37 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770303340; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=FjZfR6Sr73J91RtYONyzPHI4YE6QCaVegs+kni9pOW8=; b=IHsn5Gxthi8A2NdcuvKvQvfcIanyYSLBL1vB1XB7Mz8etVih6ONgHaf3hWPQ3CvuebSp1T t8L08e54ai9a0ybf1AT0Si9niWQ/zlxFf49p8Ep5OQMB+Te2qV9t5ftUqdLEjcvLYsO4/5 DhYPvr2s0cGWlDXR0mwUZH9BVXZLUvY= X-MC-Unique: PwelujHxO_ywd9iJtCK8rQ-1 X-Mimecast-MFC-AGG-ID: PwelujHxO_ywd9iJtCK8rQ_1770303338 To: devel@lists.libvirt.org Subject: [PATCH 07/20] qemu: Drop 'removable' field from 'qemuDomainDiskInfo' Date: Thu, 5 Feb 2026 15:55:15 +0100 Message-ID: <663cc9b0a2f0bf547422dbe9edd5980662933c50.1770303113.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: UUlPEmmYQwLZ7Htl95jveT63CpAWWj0eQ_UE8zMOpCg_1770303338 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: NUEETHSAOTIB7Q5ZCBAZ2D4GYK4JYJJB X-Message-ID-Hash: NUEETHSAOTIB7Q5ZCBAZ2D4GYK4JYJJB X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1770303718748154100 Content-Type: text/plain; charset="utf-8" From: Peter Krempa The only real use was in 'qemuProcessRefreshDiskProps' where it guarded assignment of 'tray' status. Since qemu doesn't actually report any tray status for devices which don't have a tray there's no need for the extra guard. Remove the field completely. Signed-off-by: Peter Krempa --- src/qemu/qemu_domain.h | 1 - src/qemu/qemu_monitor_json.c | 7 ------- src/qemu/qemu_process.c | 12 +++++------- tests/qemumonitorjsontest.c | 6 ++---- 4 files changed, 7 insertions(+), 19 deletions(-) diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index 0f975a22fc..06e2f92ac3 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -357,7 +357,6 @@ struct _qemuDomainVcpuPrivate { struct qemuDomainDiskInfo { - bool removable; bool tray; bool tray_open; int io_status; diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index bf9e59c0b6..1b05c713ea 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -2346,13 +2346,6 @@ qemuMonitorJSONGetBlockInfo(qemuMonitor *mon, return -1; } - if (virJSONValueObjectGetBoolean(dev, "removable", &info.removable= ) < 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("cannot read %1$s value"), - "removable"); - return -1; - } - /* 'tray_open' is present only if the device has a tray */ if (virJSONValueObjectGetBoolean(dev, "tray_open", &info.tray_open= ) =3D=3D 0) info.tray =3D true; diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index ba8bda0f99..d6ff9c96fc 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -9592,13 +9592,11 @@ qemuProcessRefreshDiskProps(virDomainDiskDef *disk, { qemuDomainDiskPrivate *diskpriv =3D QEMU_DOMAIN_DISK_PRIVATE(disk); - if (info->removable) { - if (info->tray) { - if (info->tray_open) - disk->tray_status =3D VIR_DOMAIN_DISK_TRAY_OPEN; - else - disk->tray_status =3D VIR_DOMAIN_DISK_TRAY_CLOSED; - } + if (info->tray) { + if (info->tray_open) + disk->tray_status =3D VIR_DOMAIN_DISK_TRAY_OPEN; + else + disk->tray_status =3D VIR_DOMAIN_DISK_TRAY_CLOSED; } diskpriv->tray =3D info->tray; diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index 699b75ce2d..b3aca6a6c3 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -1353,8 +1353,8 @@ testQemuMonitorJSONqemuMonitorJSONGetBalloonInfo(cons= t void *opaque) static void testQemuMonitorJSONGetBlockInfoPrint(const struct qemuDomainDiskInfo *d) { - VIR_TEST_VERBOSE("removable: %d, tray: %d, tray_open: %d, io_status: %= d", - d->removable, d->tray, d->tray_open, d->io_status); + VIR_TEST_VERBOSE("tray: %d, tray_open: %d, io_status: %d", + d->tray, d->tray_open, d->io_status); } @@ -1403,7 +1403,6 @@ testQemuMonitorJSONqemuMonitorJSONGetBlockInfo(const = void *opaque) info =3D g_new0(struct qemuDomainDiskInfo, 1); - info->removable =3D true; info->tray =3D true; if (virHashAddEntry(expectedBlockDevices, "ide0-1-0", info) < 0) { @@ -1414,7 +1413,6 @@ testQemuMonitorJSONqemuMonitorJSONGetBlockInfo(const = void *opaque) info =3D g_new0(struct qemuDomainDiskInfo, 1); - info->removable =3D true; info->tray =3D true; if (virHashAddEntry(expectedBlockDevices, "ide0-1-1", info) < 0) { --=20 2.53.0 From nobody Sat Feb 7 11:31:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1770303859; cv=none; d=zohomail.com; s=zohoarc; b=no1Nx2+mIwx0nZSPEtf8woMd4v+DYew6M/WYCydl2jpQi8dLumDMZpxd6tcTVK/uaI+aXKBwM2kvDECSlKMJfEsDrR92u27JxZtNWf/wuk28WCRhbfz0YWqCMnUs3YGIZbXd4awEFAXdnhqBXcl/QilPx5V59kePsEoHyDuAKGY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770303859; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=1zt18kWJyRNvETIEWKCG8RUBCwUR+RX5+6tpCIYLWJY=; b=H+kEJX6iuxLiLfxa5yi7Pn6QNYyw++Jh7RbiCU65ON877En3XYUBpeKNCGW9ewJisZitCkHS8YWorOA4N+fdsfMPPtf9oK9dzvYo0YXBssr53GeNQYkoDRnZupUQI0ePt+mWyW6SrosiMLKUvG0LOMSm4W2M1Dh7/lPa/DC1Xok= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1770303859699640.9457448077986; Thu, 5 Feb 2026 07:04:19 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id 3CCE641BC1; Thu, 5 Feb 2026 10:04:19 -0500 (EST) Received: from [172.19.199.6] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 3AB9043F6C; Thu, 5 Feb 2026 09:57:57 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id DD53641C1F; Thu, 5 Feb 2026 09:57:52 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 2BBBE41C1F for ; Thu, 5 Feb 2026 09:55:43 -0500 (EST) Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-664-g2cnkFqaMImP6nALzZg6TA-1; Thu, 05 Feb 2026 09:55:40 -0500 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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 mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id CDC911955F27 for ; Thu, 5 Feb 2026 14:55:39 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.3]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 19DAC1800464 for ; Thu, 5 Feb 2026 14:55:38 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770303342; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=1zt18kWJyRNvETIEWKCG8RUBCwUR+RX5+6tpCIYLWJY=; b=OnIhT1dOs2yGH5LdLouY+kilimpzsAFBaTZMlbze0YhPJRkHn6oqe0UcOV5FBhNH8M+ESy RY5X3Hf/xgc3EMp8Ef3SWyAFXFiSYXWw8Gw+snPJ3GkAimE+W4qECL3q7tSqKh3y/mwp2u Z13Jp+U35mc8IiA/A0CxZWhLus0x1Ew= X-MC-Unique: g2cnkFqaMImP6nALzZg6TA-1 X-Mimecast-MFC-AGG-ID: g2cnkFqaMImP6nALzZg6TA_1770303340 To: devel@lists.libvirt.org Subject: [PATCH 08/20] qemuMonitorJSONHandleMigrationStatus: Simplify error case Date: Thu, 5 Feb 2026 15:55:16 +0100 Message-ID: <8b1eb88d705f64a864fd67bbbe602fc6f2c84654.1770303113.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: Nhr--y5K_Zoi27_64zg8EkOxCGVJh1Iz11nN-coAexU_1770303340 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: LOPDA7U7NBAZIWUKMEUSGT7UBAFCYKXO X-Message-ID-Hash: LOPDA7U7NBAZIWUKMEUSGT7UBAFCYKXO X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1770303860853154100 Content-Type: text/plain; charset="utf-8" From: Peter Krempa Report both missing 'status' and invalid value in a single error message. Also use the proper spelling of the event name (all caps). Signed-off-by: Peter Krempa --- src/qemu/qemu_monitor_json.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 1b05c713ea..021995f5cc 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -1268,13 +1268,10 @@ qemuMonitorJSONHandleMigrationStatus(qemuMonitor *m= on, const char *str; int status; - if (!(str =3D virJSONValueObjectGetString(data, "status"))) { - VIR_WARN("missing status in migration event"); - return; - } - - if ((status =3D qemuMonitorMigrationStatusTypeFromString(str)) =3D=3D = -1) { - VIR_WARN("unknown status '%s' in migration event", str); + if (!(str =3D virJSONValueObjectGetString(data, "status")) || + (status =3D qemuMonitorMigrationStatusTypeFromString(str)) =3D=3D = -1) { + VIR_WARN("Missing or unknown value '%s' of 'status' in 'MIGRATION'= event", + NULLSTR(str)); return; } --=20 2.53.0 From nobody Sat Feb 7 11:31:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1770303901; cv=none; d=zohomail.com; s=zohoarc; b=dv+N1Q+6tO7lWWaF8Dq1NfE+k0YFhGGj0LZvuvUp27mkbN19E7sYds6uick2go0SmYShRJaasRmsIa6J3mNjFycvWg/CywO9jyE+lNuxFynk1oEpQgmx+1IwAumgRrskuKmrzWtMN97L5MRBbYrHH7bLoDHmlDJFXSMEtToiics= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770303901; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=bLBcGiPBOXumTdPflmcxaDGsBSpC1h1K66eMcPOsNnI=; b=LBsupKD5xwK+ZnWf02pDDX9COVfseenhk+GNyv7Gq69Juof7wckRGcP75WbEiF98X7XMcFOLyd0D2yPgyg2pEOVMpEAHTNQ0CMfz2yvkU4JOB+BSzHVBkXUqTxNs+JkrsEQGlQbAkE5gCbQ0tUaPGSPBL6RyveElhxuntI8H0to= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1770303900993428.0791352927188; Thu, 5 Feb 2026 07:05:00 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id 79F6741C69; Thu, 5 Feb 2026 10:05:00 -0500 (EST) Received: from [172.19.199.6] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 0126C43FBC; Thu, 5 Feb 2026 09:58:00 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id 457D641C69; Thu, 5 Feb 2026 09:57:54 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 6FA5041C69 for ; Thu, 5 Feb 2026 09:55:43 -0500 (EST) Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-677-Q6xyilAxMQO3HEToxv0QIA-1; Thu, 05 Feb 2026 09:55:41 -0500 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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 mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 062F91956094 for ; Thu, 5 Feb 2026 14:55:41 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.3]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 5053818003F6 for ; Thu, 5 Feb 2026 14:55:40 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770303343; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=bLBcGiPBOXumTdPflmcxaDGsBSpC1h1K66eMcPOsNnI=; b=fqUe1HaBJ4zjRGNujqyuIpr8diR+97kTkRffjuj31R8Xvp85jT6Qi5y6lhcRzBP4jr9/Ys zcR9SuC3ZNppKlemnh6R/zoIS/7MfFLsO/cgDTWopQipSBhtzf3JBiP5JQganmNIPjupqV c/qm6Dei41KQFOGlsmJy1m5ojfmewnU= X-MC-Unique: Q6xyilAxMQO3HEToxv0QIA-1 X-Mimecast-MFC-AGG-ID: Q6xyilAxMQO3HEToxv0QIA_1770303341 To: devel@lists.libvirt.org Subject: [PATCH 09/20] qemu: monitor: Add test validating that 'eventHandlers' are properly sorted Date: Thu, 5 Feb 2026 15:55:17 +0100 Message-ID: <7b223670d624ee2880dc38e319bb6201a66f4601.1770303113.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: D33KsEnH6QzGs4FNdzVmco9co5rEOS2SaWypp3H2uhc_1770303341 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: QDAC5DRRHQFM2TTGHPRVN2Q4EQBGFUTW X-Message-ID-Hash: QDAC5DRRHQFM2TTGHPRVN2Q4EQBGFUTW X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1770303903551154100 Content-Type: text/plain; charset="utf-8" From: Peter Krempa The monitor code uses 'bsearch' to look up the event handler so the event names must be properly listed. Until now only an comment reminded us to do it. Add a test to verify that it is actually sorted properly. Signed-off-by: Peter Krempa --- src/qemu/qemu_monitor_json.c | 21 +++++++++++++++++++++ src/qemu/qemu_monitor_json.h | 3 +++ tests/qemumonitorjsontest.c | 18 ++++++++++++++++++ 3 files changed, 42 insertions(+) diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 021995f5cc..825508e8f5 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -143,6 +143,27 @@ qemuMonitorEventCompare(const void *key, const void *e= lt) } +/** + * qemuMonitorJSONValidateEventHandlers: + * + * Used by 'qemumonitorjsontest' to validate that the 'eventHandlers' array + * is properly sorted to use 'bsearch'. + */ +char * +qemuMonitorJSONValidateEventHandlers(void) +{ + size_t i; + + for (i =3D 1; i < G_N_ELEMENTS(eventHandlers); i++) { + if (strcmp(eventHandlers[i-1].type, eventHandlers[i].type) > -1) + return g_strdup_printf("mis-ordered 'eventHandlers': '%s', '%s= '", + eventHandlers[i-1].type, eventHandlers[= i].type); + } + + return NULL; +} + + static int qemuMonitorJSONIOProcessEvent(qemuMonitor *mon, virJSONValue *obj) diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index db9160eb68..8f5434d0df 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -27,6 +27,9 @@ #include "cpu/cpu.h" #include "util/virgic.h" +char * +qemuMonitorJSONValidateEventHandlers(void); + int qemuMonitorJSONIOProcessLine(qemuMonitor *mon, const char *line, diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index b3aca6a6c3..9c9b3397ad 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -2825,6 +2825,20 @@ testQemuMonitorJSONGetGuestCPU(const void *opaque) } +static int +testEventHandlersOrdering(const void *opaque G_GNUC_UNUSED) +{ + g_autofree char *errmsg =3D NULL; + + if ((errmsg =3D qemuMonitorJSONValidateEventHandlers())) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", errmsg); + return -1; + } + + return 0; +} + + static int mymain(void) { @@ -2848,6 +2862,10 @@ mymain(void) qapiData.schema =3D qapischema_x86_64; + if (virTestRun("'eventHandlers' ordering check", testEventHandlersOrde= ring, + NULL) < 0) + ret =3D -1; + #define DO_TEST(name) \ do { \ testGenericData data =3D { driver.xmlopt, qapiData.schema }; \ --=20 2.53.0 From nobody Sat Feb 7 11:31:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1770303962; cv=none; d=zohomail.com; s=zohoarc; b=Bps6riZItjovm5Vbg1DCTSJbggFAYGv0UBZARArc7N+s/fsXdwoQdx1URw9f/ju35S2grythavezPTLjIQCzvLrRLaxI6YgeCKUZcbRsGIFY9tEbjNSjPKz0QvcDOS39PwjQ1hMRi3Omf56wML+S/kJBxsVBk8ED+OwzOAnjGQs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770303962; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=aCf+ccB7CjNd+oY1R8Z2Ywp8KdHBQDeFLmDkV1+xazE=; b=l8SbeAbhZuoYaDFEqiqVOM1dp0NaP1TSD5WzvT8MqKkW8cnPcv5AAv+O1yjQt7kV2PCcBMdcjXfzCluKytEx5M6ZE88l8au9hw63PuP8gF/0CPMUrIY6yDOasl/ZRACo/OEJL/XJRrzJ7cpJXfW5/8CMaiQtHzaId2WsyIxlb44= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1770303962866936.2372971482484; Thu, 5 Feb 2026 07:06:02 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id 5E17A3F36B; Thu, 5 Feb 2026 10:06:02 -0500 (EST) Received: from [172.19.199.6] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id CE4B743FF8; Thu, 5 Feb 2026 09:59:07 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id 7514D41C4E; Thu, 5 Feb 2026 09:59:03 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 70EBD43DD5 for ; Thu, 5 Feb 2026 09:55:46 -0500 (EST) Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-213-4iia-tWtPWiZd1XlFLg-Sw-1; Thu, 05 Feb 2026 09:55:42 -0500 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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 mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 27C581956094 for ; Thu, 5 Feb 2026 14:55:42 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.3]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 72BD91800464 for ; Thu, 5 Feb 2026 14:55:41 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770303346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=aCf+ccB7CjNd+oY1R8Z2Ywp8KdHBQDeFLmDkV1+xazE=; b=REQJoFbJsA/ad+GHO5lySC2+joWjobyD2hpb1aBfikbk5/rkxmwv68x1/XN7rk1u78o3nH UxU8nEyCPyVUhQZ9rxPwR1XpCs/rDyOO6Dh0KBjw5Cv/B1cwAWRbdn/9E6NgG2HlYDwiwi YkGOlbrwUJDXXqSmCN6GODUCx/qCW1g= X-MC-Unique: 4iia-tWtPWiZd1XlFLg-Sw-1 X-Mimecast-MFC-AGG-ID: 4iia-tWtPWiZd1XlFLg-Sw_1770303342 To: devel@lists.libvirt.org Subject: [PATCH 10/20] qemuMonitorJSONHandleMemoryFailure: Simplify error case and value extraction Date: Thu, 5 Feb 2026 15:55:18 +0100 Message-ID: <90815a3ec89e3021e037cba31eddfb7be285e27b.1770303113.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: Cu_RIjfxHUJvJd8M7EBqXIgjLnGlAPiIn93JKliXFqE_1770303342 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: KQ4SI4FR7N4ZDCP5EUBJVEVCSVWVTAPL X-Message-ID-Hash: KQ4SI4FR7N4ZDCP5EUBJVEVCSVWVTAPL X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1770303964562154100 Content-Type: text/plain; charset="utf-8" From: Peter Krempa Report missing 'recipient' and 'action' together with the warning about unknown value. Use the actual name of the event. Additional booleans can be extracted without extra variables. Signed-off-by: Peter Krempa --- src/qemu/qemu_monitor_json.c | 32 ++++++++++---------------------- 1 file changed, 10 insertions(+), 22 deletions(-) diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 825508e8f5..328e32533d 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -1243,41 +1243,29 @@ qemuMonitorJSONHandleMemoryFailure(qemuMonitor *mon, const char *str; int recipient; int action; - bool ar =3D false; - bool recursive =3D false; qemuMonitorEventMemoryFailure mf =3D {0}; - if (!(str =3D virJSONValueObjectGetString(data, "recipient"))) { - VIR_WARN("missing recipient in memory failure event"); - return; - } - - recipient =3D qemuMonitorMemoryFailureRecipientTypeFromString(str); - if (recipient < 0) { - VIR_WARN("unknown recipient '%s' in memory_failure event", str); - return; - } - - if (!(str =3D virJSONValueObjectGetString(data, "action"))) { - VIR_WARN("missing action in memory failure event"); + if (!(str =3D virJSONValueObjectGetString(data, "recipient")) || + (recipient =3D qemuMonitorMemoryFailureRecipientTypeFromString(str)= ) < 0) { + VIR_WARN("missing or unknown value '%s' of 'recipient' field in 'M= EMORY_FAILURE' event", + NULLSTR(str)); return; } - action =3D qemuMonitorMemoryFailureActionTypeFromString(str); - if (action < 0) { - VIR_WARN("unknown action '%s' in memory_failure event", str); + if (!(str =3D virJSONValueObjectGetString(data, "action")) || + (action =3D qemuMonitorMemoryFailureActionTypeFromString(str)) < 0= ) { + VIR_WARN("missing or unknown value '%s' of 'action' field in 'MEMO= RY_FAILURE' event", + NULLSTR(str)); return; } if (flagsjson) { - virJSONValueObjectGetBoolean(flagsjson, "action-required", &ar); - virJSONValueObjectGetBoolean(flagsjson, "recursive", &recursive); + virJSONValueObjectGetBoolean(flagsjson, "action-required", &mf.act= ion_required); + virJSONValueObjectGetBoolean(flagsjson, "recursive", &mf.recursive= ); } mf.recipient =3D recipient; mf.action =3D action; - mf.action_required =3D ar; - mf.recursive =3D recursive; qemuMonitorEmitMemoryFailure(mon, &mf); } --=20 2.53.0 From nobody Sat Feb 7 11:31:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1770304047; cv=none; d=zohomail.com; s=zohoarc; b=ku1TwT8j2js1mK0ytXyodYfhP+C0HsgcqKZSH+0waEyF1zfJag1jf6i8yfEnZqwZ/9w3GQ+Rx8CDkJYRq+hvApjp3G86VA730kVMI92ppTqXkJvKTJ2YpuO5f6YLjRwrX6B4glFLbyJLNiGydR34FAvITTA5A7I++3aKEEPqC0M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770304047; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=sA0k3NPaVepePa16RQi9u8jeXjiwXmxJtBcvuePCxp4=; b=Xd87OpUEVemWy7w1jCZ/eX1VsCvh7dmNJIUQYs7iNBjpY2Wb1DVfCPEORGKy0g+G1lsOHnSwMkXLSIGAjPapzTBmBak2If8pnwOZqVxYuVRguv5gYGr2139VHV6wveQlmppgAS+ga0bjkvqX0mACaV6RXLY06aVjOFE031+EKJk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1770304047327216.76148866988672; Thu, 5 Feb 2026 07:07:27 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id 9B6B041B6B; Thu, 5 Feb 2026 10:07:26 -0500 (EST) Received: from [172.19.199.6] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id F1BD04406A; Thu, 5 Feb 2026 09:59:29 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id A30BD41C5F; Thu, 5 Feb 2026 09:59:25 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id C1CFA418E2 for ; Thu, 5 Feb 2026 09:55:46 -0500 (EST) Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-103-DJeMRWFwMDKuZm25LgNONg-1; Thu, 05 Feb 2026 09:55:44 -0500 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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 mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 4AAD519560B4 for ; Thu, 5 Feb 2026 14:55:43 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.3]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 942A618003F6 for ; Thu, 5 Feb 2026 14:55:42 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770303346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=sA0k3NPaVepePa16RQi9u8jeXjiwXmxJtBcvuePCxp4=; b=PXMwXnxvdwX9/UwQNnalMHgErxPJKxG0gPUrhRJTsK4zxIp/lRLDb2PCdUi6ReHDKn7PZC W/LvfYW8wxRFqQMu0kEaUh3HaS05UNi1tTfYBVgx4J2iSn26s04KQ6Xh6R+y3QHnOYod+3 XJ6cLU4MLMkBWA1j86xdt7iBWde5FgA= X-MC-Unique: DJeMRWFwMDKuZm25LgNONg-1 X-Mimecast-MFC-AGG-ID: DJeMRWFwMDKuZm25LgNONg_1770303343 To: devel@lists.libvirt.org Subject: [PATCH 11/20] qemuMonitorJSONGetBlockInfo: Don't fail if 'io-status' field gets new values Date: Thu, 5 Feb 2026 15:55:19 +0100 Message-ID: <0045bd70135fe6add7be96d7996c0ca6073f6cc1.1770303113.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: Z657oMO60hC6WuIrbTcvio0nAxVXPgBkoiCzoHCZfpw_1770303343 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: 2YSA47NPEK5FNBFTLBM3HKLSY6RG2RV2 X-Message-ID-Hash: 2YSA47NPEK5FNBFTLBM3HKLSY6RG2RV2 X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1770304049887154100 Content-Type: text/plain; charset="utf-8" From: Peter Krempa Strictly validating qemu replies and rejecting unknown values can have bad consequences in case qemu adds a new value. Refactor the code parsing 'io-status' field from 'query-block' to be tolerant to new values to avoid failure. Signed-off-by: Peter Krempa --- src/qemu/qemu_monitor.c | 42 -------------------------------- src/qemu/qemu_monitor.h | 3 --- src/qemu/qemu_monitor_json.c | 47 +++++++++++++++++++++++++++++++++--- 3 files changed, 43 insertions(+), 49 deletions(-) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 6acc80832c..1434da7f70 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -177,21 +177,6 @@ VIR_ENUM_IMPL(qemuMonitorVMStatus, "guest-panicked", ); -typedef enum { - QEMU_MONITOR_BLOCK_IO_STATUS_OK, - QEMU_MONITOR_BLOCK_IO_STATUS_FAILED, - QEMU_MONITOR_BLOCK_IO_STATUS_NOSPACE, - - QEMU_MONITOR_BLOCK_IO_STATUS_LAST -} qemuMonitorBlockIOStatus; - -VIR_ENUM_DECL(qemuMonitorBlockIOStatus); - -VIR_ENUM_IMPL(qemuMonitorBlockIOStatus, - QEMU_MONITOR_BLOCK_IO_STATUS_LAST, - "ok", "failed", "nospace", -); - VIR_ENUM_IMPL(qemuMonitorDumpStatus, QEMU_MONITOR_DUMP_STATUS_LAST, "none", "active", "completed", "failed", @@ -1915,33 +1900,6 @@ qemuMonitorSetMemoryStatsPeriod(qemuMonitor *mon, } -int -qemuMonitorBlockIOStatusToError(const char *status) -{ - int st =3D qemuMonitorBlockIOStatusTypeFromString(status); - - if (st < 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("unknown block IO status: %1$s"), status); - return -1; - } - - switch ((qemuMonitorBlockIOStatus) st) { - case QEMU_MONITOR_BLOCK_IO_STATUS_OK: - return VIR_DOMAIN_DISK_ERROR_NONE; - case QEMU_MONITOR_BLOCK_IO_STATUS_FAILED: - return VIR_DOMAIN_DISK_ERROR_UNSPEC; - case QEMU_MONITOR_BLOCK_IO_STATUS_NOSPACE: - return VIR_DOMAIN_DISK_ERROR_NO_SPACE; - - /* unreachable */ - case QEMU_MONITOR_BLOCK_IO_STATUS_LAST: - break; - } - return -1; -} - - static void qemuDomainDiskInfoFree(void *value) { diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 041aa7bc12..a35dbe560f 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -783,9 +783,6 @@ qemuMonitorSetMemoryStatsPeriod(qemuMonitor *mon, virDomainMemballoonDef *balloon, int period); -int -qemuMonitorBlockIOStatusToError(const char *status); - GHashTable * qemuMonitorGetBlockInfo(qemuMonitor *mon); diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 328e32533d..50e0497385 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -2317,6 +2317,24 @@ qemuMonitorJSONBlockInfoAdd(GHashTable *table, } +typedef enum { + QEMU_MONITOR_BLOCK_IO_STATUS_OK, + QEMU_MONITOR_BLOCK_IO_STATUS_FAILED, + QEMU_MONITOR_BLOCK_IO_STATUS_NOSPACE, + + QEMU_MONITOR_BLOCK_IO_STATUS_LAST +} qemuMonitorBlockIOStatus; + +VIR_ENUM_DECL(qemuMonitorBlockIOStatus); + +VIR_ENUM_IMPL(qemuMonitorBlockIOStatus, + QEMU_MONITOR_BLOCK_IO_STATUS_LAST, + "ok", + "failed", + "nospace", +); + + int qemuMonitorJSONGetBlockInfo(qemuMonitor *mon, GHashTable *table) @@ -2329,7 +2347,7 @@ qemuMonitorJSONGetBlockInfo(qemuMonitor *mon, for (i =3D 0; i < virJSONValueArraySize(devices); i++) { virJSONValue *dev; - struct qemuDomainDiskInfo info =3D { false }; + struct qemuDomainDiskInfo info =3D { .io_status =3D VIR_DOMAIN_DIS= K_ERROR_NONE }; const char *thisdev; const char *status; const char *qdev; @@ -2358,9 +2376,30 @@ qemuMonitorJSONGetBlockInfo(qemuMonitor *mon, /* Missing io-status indicates no error */ if ((status =3D virJSONValueObjectGetString(dev, "io-status"))) { - info.io_status =3D qemuMonitorBlockIOStatusToError(status); - if (info.io_status < 0) - return -1; + int st =3D qemuMonitorBlockIOStatusTypeFromString(status); + + if (st < 0) { + VIR_WARN("Unhandled value '%s' of 'io-status' field in 'qu= ery-block' reply", + status); + info.io_status =3D VIR_DOMAIN_DISK_ERROR_UNSPEC; + } else { + switch ((qemuMonitorBlockIOStatus) st) { + case QEMU_MONITOR_BLOCK_IO_STATUS_OK: + info.io_status =3D VIR_DOMAIN_DISK_ERROR_NONE; + break; + + case QEMU_MONITOR_BLOCK_IO_STATUS_FAILED: + info.io_status =3D VIR_DOMAIN_DISK_ERROR_UNSPEC; + break; + + case QEMU_MONITOR_BLOCK_IO_STATUS_NOSPACE: + info.io_status =3D VIR_DOMAIN_DISK_ERROR_NO_SPACE; + break; + + case QEMU_MONITOR_BLOCK_IO_STATUS_LAST: + break; + } + } } if (thisdev && --=20 2.53.0 From nobody Sat Feb 7 11:31:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1770304001; cv=none; d=zohomail.com; s=zohoarc; b=m4Q0n/Sw7orjCoGAN7uDvA4lihZxfkz8c7yBp+VmL4olcXkEmiEu5RxkJNKlZLT8fTpJiF+wsllbWsUhZmjrz0rYGNZ2UsyHnK3YiS+e7Mu6fFya55xsaHlxIXLKpFyC6y+a5VhpHvnsBXqmUzSWSnJQYkzg7g9paf0eJBVk8KU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770304001; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=z08ByUP+V0VXJsp8ZS0uHBjzDHCT1qRQOL2Jax3mfP0=; b=HCkBCT2ws9SaA4AgN3TR1lwJ2w7RrNThyqHPe2/hbyoQgP68xoSovR5B/V/YOUdsB0eWizm+1J/shx8K9kibZ+5gjIfYAyN5JznM6qM/0prEdRWdkvRuCmHi/QBwc6dF0cNSb5oF7je/cok+zXzY0ktzI4Q4IDrsEu5hErwETLM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1770304001866746.7505378341436; Thu, 5 Feb 2026 07:06:41 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id EB7AF3F874; Thu, 5 Feb 2026 10:06:40 -0500 (EST) Received: from [172.19.199.6] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 90B4A44021; Thu, 5 Feb 2026 09:59:20 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id 324A541C1F; Thu, 5 Feb 2026 09:59:16 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id B7F7E43E16 for ; Thu, 5 Feb 2026 09:55:46 -0500 (EST) Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-390-o83G1on1OT2XiqaXKA-zCA-1; Thu, 05 Feb 2026 09:55:45 -0500 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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 mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 73EBB180059A for ; Thu, 5 Feb 2026 14:55:44 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.3]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id B3D0E18003F6 for ; Thu, 5 Feb 2026 14:55:43 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770303346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=z08ByUP+V0VXJsp8ZS0uHBjzDHCT1qRQOL2Jax3mfP0=; b=cVglv9e0xXHQMgVajPR42PkWkmeS3ZtvjtFituW20QbWvvN+XdckTqAf37GqHGYi3+oRAH uJUSbYwZ22DT6y+hkzAn+x335pd6A4Cij9Ksj1bVgW9BeUWDqSFTn0lC/G0NNVW3vr/tLx 3L716H/YGDN80vJ8mxK6MAjS4zgh0gQ= X-MC-Unique: o83G1on1OT2XiqaXKA-zCA-1 X-Mimecast-MFC-AGG-ID: o83G1on1OT2XiqaXKA-zCA_1770303344 To: devel@lists.libvirt.org Subject: [PATCH 12/20] qemuDomainDiskInfo: Use proper type for 'io_status' Date: Thu, 5 Feb 2026 15:55:20 +0100 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: thFYrkNhj5py5VEI6UxVq5-q9GCwaPKgEbVOiF4IkUo_1770303344 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: ISOY2K7QYCWDDO7Y3MIECRTGW3LVYV2W X-Message-ID-Hash: ISOY2K7QYCWDDO7Y3MIECRTGW3LVYV2W X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1770304003268158500 Content-Type: text/plain; charset="utf-8" From: Peter Krempa Signed-off-by: Peter Krempa --- src/qemu/qemu_domain.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index 06e2f92ac3..393f9c9c96 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -359,7 +359,7 @@ struct _qemuDomainVcpuPrivate { struct qemuDomainDiskInfo { bool tray; bool tray_open; - int io_status; + virDomainDiskErrorCode io_status; }; #define QEMU_DOMAIN_CHR_SOURCE_PRIVATE(dev) \ --=20 2.53.0 From nobody Sat Feb 7 11:31:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1770304136; cv=none; d=zohomail.com; s=zohoarc; b=HJsJURzx/kzEuWsJXwmBSmaLjDK48bqqmB5y9OXCyNjW5isKJOuo2fb3hmmZJzCoqLiH6umfy7lrN8E3dw6BHar7TT2mkq76c18GFXwhHqBoolfjLn7nw4SKcKlw4VroZR7lJXsnyy3GZiDUhUBPX7YcAlW5fR9ZP+Mnq1MHqbQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770304136; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=KKzLc2U7zdTGljI8VUa6+1Q+Kw6n6ay7qaG1WApAH8c=; b=XSJBWG0X0XTh5qshHotj1nXgbrEhGC9x667LhKk1SQuvnvKHnaIwk5AgPud44NAkoaBuVn64QtHBunWqaQ+TCs413InAAB0xae7X7LKENij/TCgK9kJLFh02V+moO5Hb4JuTVWt4xduhaXPzQgzODRjKYYSOahwfWB25R2GaqRk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1770304136319658.1913159340974; Thu, 5 Feb 2026 07:08:56 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id 8930B41B83; Thu, 5 Feb 2026 10:08:55 -0500 (EST) Received: from [172.19.199.6] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 81159440DE; Thu, 5 Feb 2026 09:59:50 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id 10D2A41A12; Thu, 5 Feb 2026 09:59:41 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 534FE43DC5 for ; Thu, 5 Feb 2026 09:55:48 -0500 (EST) Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-295-5SRkpCddPx-HZnHaIfqaPw-1; Thu, 05 Feb 2026 09:55:46 -0500 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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 mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id A02281955E7C for ; Thu, 5 Feb 2026 14:55:45 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.3]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id E9E4D180066A for ; Thu, 5 Feb 2026 14:55:44 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770303348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=KKzLc2U7zdTGljI8VUa6+1Q+Kw6n6ay7qaG1WApAH8c=; b=LZ2kPze++YEW0Uq+fN2Aj+3yquFyYU/gaSBbaO1FsCMvmnoLDARqm0FLSsPw7uOCrja1La q+DWCmuPbN3qisFkiyCB2rroLQxi6yMlgdEkDgS3nzDXxPUw95Pt8j3/KCEL2xOSDtDX1c jsLCRG2J+nOG659Pi3trZ5z/4ptdkd0= X-MC-Unique: 5SRkpCddPx-HZnHaIfqaPw-1 X-Mimecast-MFC-AGG-ID: 5SRkpCddPx-HZnHaIfqaPw_1770303345 To: devel@lists.libvirt.org Subject: [PATCH 13/20] conf: domain: Add VIR_DOMAIN_DISK_TRAY_NONE state for devices without tray Date: Thu, 5 Feb 2026 15:55:21 +0100 Message-ID: <340c756371631c175b7e3b958c6aeda4ffc43477.1770303113.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: KBtEFAkinf7AjZ6veA-WvCUqVJRshA0c2gHoDhwAh0c_1770303345 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: ITKM6TIJZAAAA42HOGDKJ4OISS7WHNI3 X-Message-ID-Hash: ITKM6TIJZAAAA42HOGDKJ4OISS7WHNI3 X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1770304138209158500 Content-Type: text/plain; charset="utf-8" From: Peter Krempa Currently the default state was VIR_DOMAIN_DISK_TRAY_CLOSED. Not all disks have a tray so add another state as the default and adjust code which was based on the assumption that the tray is always present. This change also removes the need for the 'tray' field in the disk private data which was used inconsistently. Signed-off-by: Peter Krempa --- src/conf/domain_conf.c | 17 +++++++++++++---- src/conf/domain_conf.h | 3 ++- src/qemu/qemu_hotplug.c | 6 ++++-- src/qemu/qemu_process.c | 3 ++- 4 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 02e23f7866..fe61284789 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -1286,6 +1286,7 @@ VIR_ENUM_IMPL(virDomainCpuPlacementMode, VIR_ENUM_IMPL(virDomainDiskTray, VIR_DOMAIN_DISK_TRAY_LAST, + "", "closed", "open", ); @@ -8600,7 +8601,7 @@ virDomainDiskDefParseXML(virDomainXMLOption *xmlopt, return NULL; if (virXMLPropEnum(targetNode, "tray", virDomainDiskTrayTypeFromSt= ring, - VIR_XML_PROP_NONE, &def->tray_status) < 0) + VIR_XML_PROP_NONZERO, &def->tray_status) < 0) return NULL; if (virXMLPropTristateSwitch(targetNode, "removable", VIR_XML_PROP= _NONE, @@ -24247,11 +24248,19 @@ virDomainDiskDefFormat(virBuffer *buf, virBufferAsprintf(&childBuf, "dst, bus); - if ((def->device =3D=3D VIR_DOMAIN_DISK_DEVICE_FLOPPY || - def->device =3D=3D VIR_DOMAIN_DISK_DEVICE_CDROM) && - def->tray_status !=3D VIR_DOMAIN_DISK_TRAY_CLOSED) + + switch (def->tray_status) { + case VIR_DOMAIN_DISK_TRAY_NONE: + case VIR_DOMAIN_DISK_TRAY_CLOSED: + case VIR_DOMAIN_DISK_TRAY_LAST: + break; + + case VIR_DOMAIN_DISK_TRAY_OPEN: virBufferAsprintf(&childBuf, " tray=3D'%s'", virDomainDiskTrayTypeToString(def->tray_status)); + break; + } + if (def->bus =3D=3D VIR_DOMAIN_DISK_BUS_USB && def->removable !=3D VIR_TRISTATE_SWITCH_ABSENT) { virBufferAsprintf(&childBuf, " removable=3D'%s'", diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 66dc4e3417..9e3735da73 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -421,7 +421,8 @@ typedef enum { typedef enum { - VIR_DOMAIN_DISK_TRAY_CLOSED =3D 0, + VIR_DOMAIN_DISK_TRAY_NONE =3D 0, + VIR_DOMAIN_DISK_TRAY_CLOSED, VIR_DOMAIN_DISK_TRAY_OPEN, VIR_DOMAIN_DISK_TRAY_LAST diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index f786248e70..0d5da456c5 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -539,7 +539,7 @@ qemuDomainChangeMediaBlockdev(virDomainObj *vm, return -1; } - if (diskPriv->tray && disk->tray_status !=3D VIR_DOMAIN_DISK_TRAY_OPEN= ) { + if (disk->tray_status =3D=3D VIR_DOMAIN_DISK_TRAY_CLOSED) { qemuDomainObjEnterMonitor(vm); rc =3D qemuMonitorBlockdevTrayOpen(priv->mon, diskPriv->qomName, f= orce); qemuDomainObjExitMonitor(vm); @@ -575,7 +575,9 @@ qemuDomainChangeMediaBlockdev(virDomainObj *vm, &disk->blkdeviotune); } - if (rc =3D=3D 0) + /* Close any device with a tray since we've opened it before (regardle= ss + * of the current state if it e.g. wasn't updated) */ + if (rc =3D=3D 0 && disk->tray_status !=3D VIR_DOMAIN_DISK_TRAY_NONE) rc =3D qemuMonitorBlockdevTrayClose(priv->mon, diskPriv->qomName); if (rc < 0 && newbackend) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index d6ff9c96fc..e627d2121e 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -8671,7 +8671,8 @@ qemuProcessRefreshDisks(virDomainObj *vm, qemuProcessRefreshDiskProps(disk, info); - if (diskpriv->tray && + if (old_tray_status !=3D VIR_DOMAIN_DISK_TRAY_NONE && + disk->tray_status !=3D VIR_DOMAIN_DISK_TRAY_NONE && old_tray_status !=3D disk->tray_status) { virDomainEventTrayChangeReason reason =3D VIR_DOMAIN_EVENT_TRA= Y_CHANGE_OPEN; virObjectEvent *event; --=20 2.53.0 From nobody Sat Feb 7 11:31:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1770304093; cv=none; d=zohomail.com; s=zohoarc; b=lt1JXZFgKnA8bAQCWh1bcQCaNR3mMAs57TQwtWfsH9d2BhNhPMbnGt0BB5WPdrUqVhKv8IKNjDsxJsLtAGRt1u1a4DLNsQPUYB3raLzqQanXcQE+P91JPK5PIsW/HgZOe8SX+J/Diz2qtqq72VamPH8On2YPn2jDOOp8TNjso7Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770304093; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=aR3MlgP/kfArC3hAAvklUUyCz+PjdG1sQyiLMjyV73M=; b=lMsnbfVWyAjmr2gjYIyGBSwUILW3x4wrzsyGh7xx6Wmy1Eoolvv2exnRdJve7EbJe8XK/8RRUPuwyFGvToYW9eNx9zELU1IY+xa5V+PeCXVAhGLfs9mXPw4N5VPTUXJeHoynWLRjiJ097gtJkH5Ud5XxyJR2P3FzQh1vgxuXVwg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1770304093193841.7508533056947; Thu, 5 Feb 2026 07:08:13 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id A826841C36; Thu, 5 Feb 2026 10:08:12 -0500 (EST) Received: from [172.19.199.6] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 4841541C5F; Thu, 5 Feb 2026 09:59:46 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id D640441A12; Thu, 5 Feb 2026 09:59:40 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 2C37C41A4E for ; Thu, 5 Feb 2026 09:55:49 -0500 (EST) Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-343-OCFuTItLN0CHdoeTIklXPg-1; Thu, 05 Feb 2026 09:55:47 -0500 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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 mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id C42E019560B4 for ; Thu, 5 Feb 2026 14:55:46 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.3]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 14CCC180066C for ; Thu, 5 Feb 2026 14:55:45 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770303348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=aR3MlgP/kfArC3hAAvklUUyCz+PjdG1sQyiLMjyV73M=; b=Yz9aobwtvpud8+JY+C7dNSNwuHMiS33xgrEuonoqKV19siLX6IUeaOuFdr81IlVBAOTlcI Wwms2FQYHLX+9+gNyqjq1VPkv/MjMUdEXSshY4tLyBTZHY7Dy/Bowl9P+jV8DsSGYUn2RT fh4T4leDQfn4wjH/RJPTjzd1lKSUYL0= X-MC-Unique: OCFuTItLN0CHdoeTIklXPg-1 X-Mimecast-MFC-AGG-ID: OCFuTItLN0CHdoeTIklXPg_1770303346 To: devel@lists.libvirt.org Subject: [PATCH 14/20] qemuDomainDiskPrivate: Remove unused 'tray' field Date: Thu, 5 Feb 2026 15:55:22 +0100 Message-ID: <95e4666a1f4fbe848732aa7f292275c15a164133.1770303113.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: TiuYD7nAdFBeBetRgu4eLTZA0jyiqnnl2-ZngOpHWFA_1770303346 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: H64G5HR23FXTRCYZIGV7E3HEGQVSI3NQ X-Message-ID-Hash: H64G5HR23FXTRCYZIGV7E3HEGQVSI3NQ X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1770304094673154100 Content-Type: text/plain; charset="utf-8" From: Peter Krempa Signed-off-by: Peter Krempa --- src/qemu/qemu_domain.h | 2 -- src/qemu/qemu_process.c | 4 ---- 2 files changed, 6 deletions(-) diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index 393f9c9c96..2a881a8285 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -288,8 +288,6 @@ struct _qemuDomainDiskPrivate { virStorageSource *migrSource; /* disk source object used for NBD migra= tion */ bool migrationslice; /* storage slice was added for migration purposes= */ - bool tray; /* device has tray */ - char *qomName; /* QOM path of the disk (also refers to the block backe= nd) */ char *nodeCopyOnRead; /* nodename of the disk-wide copy-on-read blockd= ev layer */ diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index e627d2121e..2142198589 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -9591,16 +9591,12 @@ void qemuProcessRefreshDiskProps(virDomainDiskDef *disk, struct qemuDomainDiskInfo *info) { - qemuDomainDiskPrivate *diskpriv =3D QEMU_DOMAIN_DISK_PRIVATE(disk); - if (info->tray) { if (info->tray_open) disk->tray_status =3D VIR_DOMAIN_DISK_TRAY_OPEN; else disk->tray_status =3D VIR_DOMAIN_DISK_TRAY_CLOSED; } - - diskpriv->tray =3D info->tray; } --=20 2.53.0 From nobody Sat Feb 7 11:31:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1770304386; cv=none; d=zohomail.com; s=zohoarc; b=advsPbxCkH+uNjGDX0mE5lUhieKZtyxnN/OhVWU2jHaK/kJDlfgxt/SvJv95w1HM0RyVh6RC94sGGZRkNtzzzw/59y/JpnOu2rneT6qEX8vQhxrOfsZ0Am9xUDNU5b6kVZUFG5yESUXWZd/B7BhQen44SQK8tzA9POTBlLfirSg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770304386; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=gQb6LQkXxCbKw+1vGhoC8xYe1Em0k7NJ00Ugbda3QUY=; b=mPEqxZNZuJ9/WjULjB4TpJGYKU3Z0vDXCpYHiJUvcnmh4+BhEoN8pGWD1lB0EgBiqrljQsEC7G/BzI8htXy2v5su18dGNOVeCgODjdlTobbqoVuqy7eg66y/KYJN3GsOxu9Tb41Bmk9YlZ2dvb5kvCTdVPqGFM+UkyECkR0dWoE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1770304386565207.03280985025492; Thu, 5 Feb 2026 07:13:06 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id B230041A50; Thu, 5 Feb 2026 10:13:05 -0500 (EST) Received: from [172.19.199.6] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 73CA344242; Thu, 5 Feb 2026 10:00:01 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id 71BE341BA8; Thu, 5 Feb 2026 09:59:42 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id BE57543E3B for ; Thu, 5 Feb 2026 09:55:50 -0500 (EST) Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-292-d1erFlJYOyWvhRPZkqcmlw-1; Thu, 05 Feb 2026 09:55:48 -0500 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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 mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id E382619560BC for ; Thu, 5 Feb 2026 14:55:47 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.3]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 38F501800464 for ; Thu, 5 Feb 2026 14:55:47 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770303350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=gQb6LQkXxCbKw+1vGhoC8xYe1Em0k7NJ00Ugbda3QUY=; b=MDd1VpEFhO2Cvx+5pXiX0NX2PWPQTroD5dc44kNkbeMPVK7yWa3XIPMoN2kRxfpYjLFABf zR2g8llbcACWVH5tzAQ2W/kpCpLkxE161XtWSVSdRiNdvR29W9xW9OT9WUj1rVEas1IWE+ y/KOsdbI5Oj66Iveubm0L/2A7rgItC0= X-MC-Unique: d1erFlJYOyWvhRPZkqcmlw-1 X-Mimecast-MFC-AGG-ID: d1erFlJYOyWvhRPZkqcmlw_1770303348 To: devel@lists.libvirt.org Subject: [PATCH 15/20] qemuDomainAttachDiskGeneric: Avoid unneeded disk property refresh after hotplug Date: Thu, 5 Feb 2026 15:55:23 +0100 Message-ID: <8dbf8002d443f65b8e814a6c2ad9b88a370a6e10.1770303113.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: BxOzLLc8IIxzdm6BRh-yoNodW_t1IjdpYbB8fz7Vfag_1770303348 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: TQMGTZGZ7FQGPGUSCKFPE5BBOKKB72JA X-Message-ID-Hash: TQMGTZGZ7FQGPGUSCKFPE5BBOKKB72JA X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1770304387754158500 Content-Type: text/plain; charset="utf-8" From: Peter Krempa The only thing the call to 'qemuProcessRefreshDiskProps' would update from data gathered from a 'query-block' QMP call would be the state of the tray of the device. We know that only CDROM devices have a tray and after hotplug it's closed. Remove the unneeded code and adjust tests. Signed-off-by: Peter Krempa --- src/qemu/qemu_hotplug.c | 12 +++--------- tests/qemuhotplugtest.c | 38 ++++++++++++-------------------------- 2 files changed, 15 insertions(+), 35 deletions(-) diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 0d5da456c5..e1e5688942 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -711,6 +711,9 @@ qemuDomainAttachDiskGeneric(virDomainObj *vm, g_autoptr(qemuSnapshotDiskContext) transientDiskSnapshotCtxt =3D NULL; bool origReadonly =3D disk->src->readonly; + if (disk->device =3D=3D VIR_DOMAIN_DISK_DEVICE_CDROM) + disk->tray_status =3D VIR_DOMAIN_DISK_TRAY_CLOSED; + if (!virStorageSourceIsEmpty(disk->src)) { if (disk->transient) disk->src->readonly =3D true; @@ -803,21 +806,12 @@ qemuDomainAttachDiskGeneric(virDomainObj *vm, */ if (rc =3D=3D 0) { qemuDomainDiskPrivate *diskPriv =3D QEMU_DOMAIN_DISK_PRIVATE(disk); - g_autoptr(GHashTable) blockinfo =3D NULL; if (qemuDiskConfigBlkdeviotuneEnabled(disk)) { if (qemuMonitorSetBlockIoThrottle(priv->mon, diskPriv->qomName, &disk->blkdeviotune) < 0) VIR_WARN("failed to set blkdeviotune for '%s' of '%s'", di= sk->dst, vm->def->name); } - - if ((blockinfo =3D qemuMonitorGetBlockInfo(priv->mon))) { - struct qemuDomainDiskInfo *diskinfo; - - if ((diskinfo =3D virHashLookup(blockinfo, diskPriv->qomName))= ) { - qemuProcessRefreshDiskProps(disk, diskinfo); - } - } } if (rc =3D=3D 0 && diff --git a/tests/qemuhotplugtest.c b/tests/qemuhotplugtest.c index 7881ccf327..58413b6e0d 100644 --- a/tests/qemuhotplugtest.c +++ b/tests/qemuhotplugtest.c @@ -541,7 +541,6 @@ mymain(void) #define QMP_OK "{\"return\": {}}" -#define QMP_EMPTY_ARRAY "{\"return\": []}" #define QMP_DEVICE_DELETED(dev) \ "{" \ @@ -579,8 +578,7 @@ mymain(void) DO_TEST_ATTACH("x86_64", "base-live", "disk-virtio", false, true, "blockdev-add", QMP_OK, - "device_add", QMP_OK, - "query-block", QMP_EMPTY_ARRAY); + "device_add", QMP_OK); DO_TEST_DETACH("x86_64", "base-live", "disk-virtio", true, true, "device_del", QMP_OK); DO_TEST_DETACH("x86_64", "base-live", "disk-virtio", false, false, @@ -589,8 +587,7 @@ mymain(void) DO_TEST_ATTACH("x86_64", "base-live", "disk-usb", false, true, "blockdev-add", QMP_OK, - "device_add", QMP_OK, - "query-block", QMP_EMPTY_ARRAY); + "device_add", QMP_OK); DO_TEST_DETACH("x86_64", "base-live", "disk-usb", true, true, "device_del", QMP_OK); DO_TEST_DETACH("x86_64", "base-live", "disk-usb", false, false, @@ -599,8 +596,7 @@ mymain(void) DO_TEST_ATTACH("x86_64", "base-live", "disk-scsi", false, true, "blockdev-add", QMP_OK, - "device_add", QMP_OK, - "query-block", QMP_EMPTY_ARRAY); + "device_add", QMP_OK); DO_TEST_DETACH("x86_64", "base-live", "disk-scsi", true, true, "device_del", QMP_OK); DO_TEST_DETACH("x86_64", "base-live", "disk-scsi", false, false, @@ -614,8 +610,7 @@ mymain(void) "device_add", QMP_OK, "device_add", QMP_OK, "blockdev-add", QMP_OK, - "device_add", QMP_OK, - "query-block", QMP_EMPTY_ARRAY); + "device_add", QMP_OK); DO_TEST_DETACH("x86_64", "base-with-scsi-controller-live", "disk-scsi-= 2", true, true, "device_del", QMP_OK); DO_TEST_DETACH("x86_64", "base-with-scsi-controller-live", "disk-scsi-= 2", false, false, @@ -625,8 +620,7 @@ mymain(void) DO_TEST_ATTACH("x86_64", "base-live", "disk-scsi-multipath", false, tr= ue, "object-add", QMP_OK, "blockdev-add", QMP_OK, - "device_add", QMP_OK, - "query-block", QMP_EMPTY_ARRAY); + "device_add", QMP_OK); DO_TEST_DETACH("x86_64", "base-live", "disk-scsi-multipath", true, tru= e, "device_del", QMP_OK); DO_TEST_DETACH("x86_64", "base-live", "disk-scsi-multipath", false, fa= lse, @@ -644,16 +638,14 @@ mymain(void) DO_TEST_ATTACH("s390x", "base-ccw-live", "ccw-virtio", false, true, "blockdev-add", QMP_OK, - "device_add", QMP_OK, - "query-block", QMP_EMPTY_ARRAY); + "device_add", QMP_OK); DO_TEST_DETACH("s390x", "base-ccw-live", "ccw-virtio", false, false, "device_del", QMP_DEVICE_DELETED("virtio-disk4") QMP_OK, "blockdev-del", QMP_OK); DO_TEST_ATTACH("s390x", "base-ccw-live-with-ccw-virtio", "ccw-virtio-2= ", false, true, "blockdev-add", QMP_OK, - "device_add", QMP_OK, - "query-block", QMP_EMPTY_ARRAY); + "device_add", QMP_OK); DO_TEST_DETACH("s390x", "base-ccw-live-with-ccw-virtio", "ccw-virtio-2= ", false, false, "device_del", QMP_DEVICE_DELETED("virtio-disk0") QMP_OK, @@ -661,8 +653,7 @@ mymain(void) DO_TEST_ATTACH("s390x", "base-ccw-live-with-ccw-virtio", "ccw-virtio-2= -explicit", false, true, "blockdev-add", QMP_OK, - "device_add", QMP_OK, - "query-block", QMP_EMPTY_ARRAY); + "device_add", QMP_OK); DO_TEST_DETACH("s390x", "base-ccw-live-with-ccw-virtio", "ccw-virtio-2= -explicit", false, false, "device_del", QMP_DEVICE_DELETED("virtio-disk0") QMP_OK, @@ -671,16 +662,14 @@ mymain(void) /* Attach a second device, then detach the first one. Then attach the = first one again. */ DO_TEST_ATTACH("s390x", "base-ccw-live-with-ccw-virtio", "ccw-virtio-2= -explicit", false, true, "blockdev-add", QMP_OK, - "device_add", QMP_OK, - "query-block", QMP_EMPTY_ARRAY); + "device_add", QMP_OK); DO_TEST_DETACH("s390x", "base-ccw-live-with-2-ccw-virtio", "ccw-virtio= -1-explicit", false, true, "device_del", QMP_DEVICE_DELETED("virtio-disk4") QMP_OK= ); DO_TEST_ATTACH("s390x", "base-ccw-live-with-2-ccw-virtio", "ccw-virtio= -1-reverse", false, false, "blockdev-add", QMP_OK, - "device_add", QMP_OK, - "query-block", QMP_EMPTY_ARRAY); + "device_add", QMP_OK); DO_TEST_ATTACH("x86_64", "base-live", "ivshmem-plain", false, true, "object-add", QMP_OK, @@ -697,8 +686,7 @@ mymain(void) DO_TEST_ATTACH("x86_64", "base-live+disk-scsi-wwn", "disk-scsi-duplicate-wwn", false, false, "blockdev-add", QMP_OK, - "device_add", QMP_OK, - "query-block", QMP_EMPTY_ARRAY); + "device_add", QMP_OK); DO_TEST_ATTACH("x86_64", "base-live", "hostdev-pci", false, true, "device_add", QMP_OK); @@ -747,7 +735,6 @@ mymain(void) "blockdev-add", QMP_OK, "device_add", QMP_OK, "device_add", QMP_OK, - "query-block", QMP_EMPTY_ARRAY, "qom-set", QMP_OK); DO_TEST_DETACH("x86_64", "base-live", "cdrom-usb", true, true, "device_del", QMP_OK); @@ -757,8 +744,7 @@ mymain(void) DO_TEST_ATTACH("x86_64", "base-live", "cdrom-scsi", false, true, "blockdev-add", QMP_OK, - "device_add", QMP_OK, - "query-block", QMP_EMPTY_ARRAY); + "device_add", QMP_OK); DO_TEST_DETACH("x86_64", "base-live", "cdrom-scsi", true, true, "device_del", QMP_OK); DO_TEST_DETACH("x86_64", "base-live", "cdrom-scsi", false, false, --=20 2.53.0 From nobody Sat Feb 7 11:31:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1770304191; cv=none; d=zohomail.com; s=zohoarc; b=TXW8+Y2FQFiOE/y5Vbgp6PlhMXesnG4Q4S9wNO6dfzbDjkdXcP3C8iW7sfNbxvwjSte1YP3Gki6XMZBRv6Y+n1SkyMh8voaBBoeZyyxcXAeo8JkmYELuqrVlpdk11hrEriwuAN5EjTATrAZEYz2EBUbi1GXZKH8YoyyFkx1c1qM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770304191; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=MvJCDjXwfmivvfq/N64U25ySfGESquVOZsaOfSHzJCc=; b=VCpA756p6RN7bAAXPNWk0z8HryfIkOY+9cpIeRRoCHk1+oDo9CFumQ1S4Sxp2r+p95wXRyBM1sLoQDY2/09vVLE6dT62+5pRuIn4KhDd7MnQfVWL2zoz0ppfS9fu0/8LvN0pBoAWNLS7ge2TnpHDwNV5YHgN/lvnepBzQAgmz6c= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1770304191791983.3460912622918; Thu, 5 Feb 2026 07:09:51 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id 00DB241B28; Thu, 5 Feb 2026 10:09:51 -0500 (EST) Received: from [172.19.199.6] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 0F6E74412C; Thu, 5 Feb 2026 09:59:53 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id 6293843DC5; Thu, 5 Feb 2026 09:59:41 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 3D90043E0F for ; Thu, 5 Feb 2026 09:55:51 -0500 (EST) Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-442-WW2EDoR6M7Og6BvjUJ5NlA-1; Thu, 05 Feb 2026 09:55:49 -0500 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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 mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 10AE61955F12 for ; Thu, 5 Feb 2026 14:55:49 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.3]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 5B38418004AD for ; Thu, 5 Feb 2026 14:55:48 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770303350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MvJCDjXwfmivvfq/N64U25ySfGESquVOZsaOfSHzJCc=; b=GPhqg8C9bmjXvBuxdeMx6yme+Ys7sCW85ZM1tFyQAGFDlqpn1O5Rk+l839ruWW7hR/OHT2 T5l0K8sy+ev8/lY/OT0idRfOFI1fzRb9uGQQR5Zn1bmbK6fVqtYEpG2ZB1PbAspdeMWC0S VA5i2psc2/KhVT96+z9g8aMkEtOqi6E= X-MC-Unique: WW2EDoR6M7Og6BvjUJ5NlA-1 X-Mimecast-MFC-AGG-ID: WW2EDoR6M7Og6BvjUJ5NlA_1770303349 To: devel@lists.libvirt.org Subject: [PATCH 16/20] qemu: Refactor tray_status handling Date: Thu, 5 Feb 2026 15:55:24 +0100 Message-ID: <03e1290e40d596209b7f56d33e488b78eaec1630.1770303113.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: skBMSTdn6xcoA3PgaJLdn3_jmKmIuO9B05vsNM4Ckyk_1770303349 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: EXMXZ3XZD4QVMCF4GUXYVCNM5XQD47VM X-Message-ID-Hash: EXMXZ3XZD4QVMCF4GUXYVCNM5XQD47VM X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1770304192542158501 Content-Type: text/plain; charset="utf-8" From: Peter Krempa Modify the monitor code to directly return values from 'virDomainDiskTray' enum instead of two bools. This allows simplification of the other code: - qemuProcessRefreshDiskProps just assigns the value, thus can be deleted - old_tray_status is no longer needed as we can directly access the disk status instead and assign later Signed-off-by: Peter Krempa --- src/qemu/qemu_domain.h | 3 +-- src/qemu/qemu_monitor_json.c | 14 +++++++++++--- src/qemu/qemu_process.c | 26 ++++++-------------------- src/qemu/qemu_process.h | 3 --- tests/qemumonitorjsontest.c | 8 ++++---- 5 files changed, 22 insertions(+), 32 deletions(-) diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index 2a881a8285..d4f6c256cd 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -355,8 +355,7 @@ struct _qemuDomainVcpuPrivate { struct qemuDomainDiskInfo { - bool tray; - bool tray_open; + virDomainDiskTray tray_status; virDomainDiskErrorCode io_status; }; diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 50e0497385..971e8dd63f 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -2347,10 +2347,14 @@ qemuMonitorJSONGetBlockInfo(qemuMonitor *mon, for (i =3D 0; i < virJSONValueArraySize(devices); i++) { virJSONValue *dev; - struct qemuDomainDiskInfo info =3D { .io_status =3D VIR_DOMAIN_DIS= K_ERROR_NONE }; + struct qemuDomainDiskInfo info =3D { + .tray_status =3D VIR_DOMAIN_DISK_TRAY_NONE, + .io_status =3D VIR_DOMAIN_DISK_ERROR_NONE + }; const char *thisdev; const char *status; const char *qdev; + bool tray_open; if (!(dev =3D qemuMonitorJSONGetBlockDev(devices, i))) return -1; @@ -2371,8 +2375,12 @@ qemuMonitorJSONGetBlockInfo(qemuMonitor *mon, } /* 'tray_open' is present only if the device has a tray */ - if (virJSONValueObjectGetBoolean(dev, "tray_open", &info.tray_open= ) =3D=3D 0) - info.tray =3D true; + if (virJSONValueObjectGetBoolean(dev, "tray_open", &tray_open) =3D= =3D 0) { + if (tray_open) + info.tray_status =3D VIR_DOMAIN_DISK_TRAY_OPEN; + else + info.tray_status =3D VIR_DOMAIN_DISK_TRAY_CLOSED; + } /* Missing io-status indicates no error */ if ((status =3D virJSONValueObjectGetString(dev, "io-status"))) { diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 2142198589..0b78d45ef6 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -8661,7 +8661,6 @@ qemuProcessRefreshDisks(virDomainObj *vm, qemuDomainDiskPrivate *diskpriv =3D QEMU_DOMAIN_DISK_PRIVATE(disk); struct qemuDomainDiskInfo *info; const char *entryname =3D disk->info.alias; - virDomainDiskTray old_tray_status =3D disk->tray_status; if (diskpriv->qomName) entryname =3D diskpriv->qomName; @@ -8669,20 +8668,20 @@ qemuProcessRefreshDisks(virDomainObj *vm, if (!(info =3D virHashLookup(table, entryname))) continue; - qemuProcessRefreshDiskProps(disk, info); - - if (old_tray_status !=3D VIR_DOMAIN_DISK_TRAY_NONE && - disk->tray_status !=3D VIR_DOMAIN_DISK_TRAY_NONE && - old_tray_status !=3D disk->tray_status) { + if (disk->tray_status !=3D VIR_DOMAIN_DISK_TRAY_NONE && + info->tray_status !=3D VIR_DOMAIN_DISK_TRAY_NONE && + disk->tray_status !=3D info->tray_status) { virDomainEventTrayChangeReason reason =3D VIR_DOMAIN_EVENT_TRA= Y_CHANGE_OPEN; virObjectEvent *event; - if (disk->tray_status =3D=3D VIR_DOMAIN_DISK_TRAY_CLOSED) + if (info->tray_status =3D=3D VIR_DOMAIN_DISK_TRAY_CLOSED) reason =3D VIR_DOMAIN_EVENT_TRAY_CHANGE_CLOSE; event =3D virDomainEventTrayChangeNewFromObj(vm, disk->info.al= ias, reason); virObjectEventStateQueue(driver->domainEventState, event); } + + disk->tray_status =3D info->tray_status; } return 0; @@ -9587,19 +9586,6 @@ qemuProcessAutoDestroy(virDomainObj *dom, } -void -qemuProcessRefreshDiskProps(virDomainDiskDef *disk, - struct qemuDomainDiskInfo *info) -{ - if (info->tray) { - if (info->tray_open) - disk->tray_status =3D VIR_DOMAIN_DISK_TRAY_OPEN; - else - disk->tray_status =3D VIR_DOMAIN_DISK_TRAY_CLOSED; - } -} - - static int qemuProcessRefreshCPUMigratability(virDomainObj *vm, virDomainAsyncJob asyncJob) diff --git a/src/qemu/qemu_process.h b/src/qemu/qemu_process.h index 201b3ebb63..df63cac9b8 100644 --- a/src/qemu/qemu_process.h +++ b/src/qemu/qemu_process.h @@ -257,9 +257,6 @@ bool qemuProcessRebootAllowed(const virDomainDef *def); void qemuProcessCleanupMigrationJob(virQEMUDriver *driver, virDomainObj *vm); -void qemuProcessRefreshDiskProps(virDomainDiskDef *disk, - struct qemuDomainDiskInfo *info); - int qemuProcessSetupEmulator(virDomainObj *vm); void qemuProcessHandleNbdkitExit(qemuNbdkitProcess *nbdkit, diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index 9c9b3397ad..c10faa6a6f 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -1353,8 +1353,8 @@ testQemuMonitorJSONqemuMonitorJSONGetBalloonInfo(cons= t void *opaque) static void testQemuMonitorJSONGetBlockInfoPrint(const struct qemuDomainDiskInfo *d) { - VIR_TEST_VERBOSE("tray: %d, tray_open: %d, io_status: %d", - d->tray, d->tray_open, d->io_status); + VIR_TEST_VERBOSE("tray_status: %d, io_status: %d", + d->tray_status, d->io_status); } @@ -1403,7 +1403,7 @@ testQemuMonitorJSONqemuMonitorJSONGetBlockInfo(const = void *opaque) info =3D g_new0(struct qemuDomainDiskInfo, 1); - info->tray =3D true; + info->tray_status =3D VIR_DOMAIN_DISK_TRAY_CLOSED; if (virHashAddEntry(expectedBlockDevices, "ide0-1-0", info) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", @@ -1413,7 +1413,7 @@ testQemuMonitorJSONqemuMonitorJSONGetBlockInfo(const = void *opaque) info =3D g_new0(struct qemuDomainDiskInfo, 1); - info->tray =3D true; + info->tray_status =3D VIR_DOMAIN_DISK_TRAY_CLOSED; if (virHashAddEntry(expectedBlockDevices, "ide0-1-1", info) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", --=20 2.53.0 From nobody Sat Feb 7 11:31:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1770304501; cv=none; d=zohomail.com; s=zohoarc; b=VTubVY7w6KQrtBzoL5CBYbPERDVTjDDVvdByiifQQYTwOvpvDY+cMVbODaK/yij38NiyqS23t5M7hpKjv7u26h49MS2Z44hRPSTfCAqFcGmlF8wUNb8QXzpW3wrGevATXeuwgnMXFFbq0sjHOc+Cetzwwnrl0OlPEp6K0Zk/jBo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770304501; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=eFznxlccl+crjUO9nrcDJuRRqafvcQN8rTFmeXJRI+M=; b=fHaU25Fl9iPbKiJq3fsJiAo8gponyC0kBVN19tda6W+s6rGYDpwsw/PqbikrT2HZPTPVvhl/tv6lf0Dg9zRxSa3tGd/qFVbRAYyDH1JXTNVyxnrpcXG3HSD5eDGkU7AsN/H074pc5W/peX2AMh12Y2HwKoSnfF6NWs3HyI4tglE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1770304501139908.3745383262972; Thu, 5 Feb 2026 07:15:01 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id A72E6417EB; Thu, 5 Feb 2026 10:15:00 -0500 (EST) Received: from [172.19.199.6] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 1E0D343E54; Thu, 5 Feb 2026 10:00:04 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id D62A243DBD; Thu, 5 Feb 2026 09:59:42 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 971BF41B27 for ; Thu, 5 Feb 2026 09:55:52 -0500 (EST) Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-455-hU_xgjKiPD6so8aPA9ryNQ-1; Thu, 05 Feb 2026 09:55:51 -0500 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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 mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 308AE1800265 for ; Thu, 5 Feb 2026 14:55:50 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.3]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 7A4841800464 for ; Thu, 5 Feb 2026 14:55:49 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770303352; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=eFznxlccl+crjUO9nrcDJuRRqafvcQN8rTFmeXJRI+M=; b=XrmyyVsqvh7HBXaXfUIOEZyA+U5rbRsWkVE0kT6BUxHqkWrXTt7xDjIZqZfCwaq5woKiGR DfWtK+ZYxGno7p26maw1E8y39cUvnv4AR+ZkxpsUx1h6H5OU7XU32RJ0/9FaGkZvV5jv3b euExh2Yu8gEmv76Xj8+cYf0I44vbEvc= X-MC-Unique: hU_xgjKiPD6so8aPA9ryNQ-1 X-Mimecast-MFC-AGG-ID: hU_xgjKiPD6so8aPA9ryNQ_1770303350 To: devel@lists.libvirt.org Subject: [PATCH 17/20] qemuProcessUpdateVideoRamSize: Remove 'driver' argument and adjust callers Date: Thu, 5 Feb 2026 15:55:25 +0100 Message-ID: <1b137b036cb68f71c99e6cbd542a3011e146e043.1770303113.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: -8q4FHbYtt8A5xxqgxWwsU-jJLT-1MM5c6DTE1dL_bg_1770303350 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: L75G3GDTEQOYKGKTN634DQG2AH7YJ2EZ X-Message-ID-Hash: L75G3GDTEQOYKGKTN634DQG2AH7YJ2EZ X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1770304502987154100 Content-Type: text/plain; charset="utf-8" From: Peter Krempa 'driver' is part of domain's private data. Use it directly and adjust all callers recursively. Signed-off-by: Peter Krempa --- src/qemu/qemu_driver.c | 10 ++++------ src/qemu/qemu_migration.c | 2 +- src/qemu/qemu_process.c | 15 ++++++--------- src/qemu/qemu_process.h | 3 +-- src/qemu/qemu_saveimage.c | 2 +- 5 files changed, 13 insertions(+), 19 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index cdd333c882..a81a4054d6 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -1966,7 +1966,6 @@ qemuDomainReset(virDomainPtr dom, unsigned int flags) int ret =3D -1; qemuDomainObjPrivate *priv; virDomainState state; - virQEMUDriver *driver =3D dom->conn->privateData; virCheckFlags(0, -1); @@ -2001,7 +2000,7 @@ qemuDomainReset(virDomainPtr dom, unsigned int flags) if (state =3D=3D VIR_DOMAIN_CRASHED) virDomainObjSetState(vm, VIR_DOMAIN_PAUSED, VIR_DOMAIN_PAUSED_CRAS= HED); - qemuProcessRefreshState(driver, vm, VIR_ASYNC_JOB_NONE); + qemuProcessRefreshState(vm, VIR_ASYNC_JOB_NONE); endjob: virDomainObjEndJob(vm); @@ -4035,13 +4034,12 @@ processMemoryDeviceSizeChange(virQEMUDriver *driver, static void -processResetEvent(virQEMUDriver *driver, - virDomainObj *vm) +processResetEvent(virDomainObj *vm) { if (virDomainObjBeginJob(vm, VIR_JOB_MODIFY) < 0) return; - qemuProcessRefreshState(driver, vm, VIR_ASYNC_JOB_NONE); + qemuProcessRefreshState(vm, VIR_ASYNC_JOB_NONE); virDomainObjEndJob(vm); } @@ -4133,7 +4131,7 @@ static void qemuProcessEventHandler(void *data, void = *opaque) processEvent->status); break; case QEMU_PROCESS_EVENT_RESET: - processResetEvent(driver, vm); + processResetEvent(vm); break; case QEMU_PROCESS_EVENT_NBDKIT_EXITED: processNbdkitExitedEvent(vm, processEvent->data); diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 88db5e93fa..0e097f25b1 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -6805,7 +6805,7 @@ qemuMigrationDstFinishFresh(virQEMUDriver *driver, /* Now that the state data was transferred we can refresh the actual s= tate * of the devices */ - if (qemuProcessRefreshState(driver, vm, VIR_ASYNC_JOB_MIGRATION_IN) < = 0) { + if (qemuProcessRefreshState(vm, VIR_ASYNC_JOB_MIGRATION_IN) < 0) { /* Similarly to the case above v2 protocol will not be able to rec= over * from this. Let's ignore this and perhaps stuff will not break. = */ if (v3proto) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 0b78d45ef6..2628a89cbf 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -3225,8 +3225,7 @@ qemuProcessCleanupChardevDevice(virDomainDef *def G_G= NUC_UNUSED, * migration. */ static int -qemuProcessUpdateVideoRamSize(virQEMUDriver *driver, - virDomainObj *vm, +qemuProcessUpdateVideoRamSize(virDomainObj *vm, int asyncJob) { int ret =3D -1; @@ -3296,8 +3295,8 @@ qemuProcessUpdateVideoRamSize(virQEMUDriver *driver, qemuDomainObjExitMonitor(vm); - cfg =3D virQEMUDriverGetConfig(driver); - ret =3D virDomainObjSave(vm, driver->xmlopt, cfg->stateDir); + cfg =3D virQEMUDriverGetConfig(priv->driver); + ret =3D virDomainObjSave(vm, priv->driver->xmlopt, cfg->stateDir); return ret; @@ -8690,7 +8689,6 @@ qemuProcessRefreshDisks(virDomainObj *vm, /** * qemuProcessRefreshState: - * @driver: qemu driver data * @vm: domain to refresh * @asyncJob: async job type * @@ -8699,8 +8697,7 @@ qemuProcessRefreshDisks(virDomainObj *vm, * state influenced by the migration stream. */ int -qemuProcessRefreshState(virQEMUDriver *driver, - virDomainObj *vm, +qemuProcessRefreshState(virDomainObj *vm, virDomainAsyncJob asyncJob) { VIR_DEBUG("Fetching list of active devices"); @@ -8712,7 +8709,7 @@ qemuProcessRefreshState(virQEMUDriver *driver, return -1; VIR_DEBUG("Detecting actual memory size for video device"); - if (qemuProcessUpdateVideoRamSize(driver, vm, asyncJob) < 0) + if (qemuProcessUpdateVideoRamSize(vm, asyncJob) < 0) return -1; VIR_DEBUG("Updating disk data"); @@ -8839,7 +8836,7 @@ qemuProcessStart(virConnectPtr conn, /* Refresh state of devices from QEMU. During migration this happe= ns * in qemuMigrationDstFinish to ensure that state information is f= ully * transferred. */ - if (qemuProcessRefreshState(driver, vm, asyncJob) < 0) + if (qemuProcessRefreshState(vm, asyncJob) < 0) goto stop; } diff --git a/src/qemu/qemu_process.h b/src/qemu/qemu_process.h index df63cac9b8..d96502b601 100644 --- a/src/qemu/qemu_process.h +++ b/src/qemu/qemu_process.h @@ -163,8 +163,7 @@ int qemuProcessFinishStartup(virQEMUDriver *driver, bool startCPUs, virDomainPausedReason pausedReason); -int qemuProcessRefreshState(virQEMUDriver *driver, - virDomainObj *vm, +int qemuProcessRefreshState(virDomainObj *vm, virDomainAsyncJob asyncJob); typedef enum { diff --git a/src/qemu/qemu_saveimage.c b/src/qemu/qemu_saveimage.c index cdfa9be09d..23922acd51 100644 --- a/src/qemu/qemu_saveimage.c +++ b/src/qemu/qemu_saveimage.c @@ -759,7 +759,7 @@ qemuSaveImageStartVM(virConnectPtr conn, VIR_DOMAIN_EVENT_STARTED_RESTORED); virObjectEventStateQueue(driver->domainEventState, event); - if (qemuProcessRefreshState(driver, vm, asyncJob) < 0) + if (qemuProcessRefreshState(vm, asyncJob) < 0) goto cleanup; /* If it was running before, resume it now unless caller requested pau= se. */ --=20 2.53.0 From nobody Sat Feb 7 11:31:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1770304287; cv=none; d=zohomail.com; s=zohoarc; b=JEIKFzBmlO4AINM+JA7wJKxxj7b0q5EckQaLo6MvezpykeBEYoeZOPcSgPOrffllTQ9bekstQBZbh8OfG2e0XB3yIdUB4HnS5cNerU/MeIeth5+bu0GvCs2KsARHB3YFzFIVUrx0CTjVmVfAks/KoGDWkbmiwkuxnw6ldFw4y8I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770304287; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=ohxlIauYljD71FOumNWdF+2CzTF3kMWMwFgFaoQ4QP4=; b=gx6tahRvLTirduvV9wZa749U1tj5dsV1SnmPkzwDIqU1N7VQG8jwd4zds3ULRdp26H/oiA3jrIrjWCjAhrW7d62O6kM5PtEX+D+JV877awt9kPkyj7vapyEhiLLnyLO/zLHonXkjhiZpa+bRdhc6FmyLkb5UwNSOpppR2ZwW66I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1770304287604628.9592413280452; Thu, 5 Feb 2026 07:11:27 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id 04D9641E59; Thu, 5 Feb 2026 10:11:27 -0500 (EST) Received: from [172.19.199.6] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id C5AD044187; Thu, 5 Feb 2026 09:59:57 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id 999C541C5F; Thu, 5 Feb 2026 09:59:41 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id BE29E41B30 for ; Thu, 5 Feb 2026 09:55:53 -0500 (EST) Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-561-_TDC1zkHM-u3psIfNPUEVw-1; Thu, 05 Feb 2026 09:55:52 -0500 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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 mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 52B6319560B0 for ; Thu, 5 Feb 2026 14:55:51 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.3]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 9C5D71800464 for ; Thu, 5 Feb 2026 14:55:50 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770303353; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ohxlIauYljD71FOumNWdF+2CzTF3kMWMwFgFaoQ4QP4=; b=YxT96hjPKw4XgDSgjETvw/XQR3Kezm96B+MYQEyfJKwuC87sUBCE1/5kigqQQXLqqtzN6p xZlTwyzNXkWJNcbx5GFoFW/uRk8fO8T1H4G1zdzOuxD+EhiQ/bzUuVMsNIxBsifFkyRnz5 +jb+/RWnXg44LuyGfSwmEdQ2xJKDH4w= X-MC-Unique: _TDC1zkHM-u3psIfNPUEVw-1 X-Mimecast-MFC-AGG-ID: _TDC1zkHM-u3psIfNPUEVw_1770303351 To: devel@lists.libvirt.org Subject: [PATCH 18/20] qemuProcessRefreshDisks: Don't bother to refresh disks on cold boot Date: Thu, 5 Feb 2026 15:55:26 +0100 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: Qj3JbiaJB8ThIRHmlkTJW5pWiHzLOdVnuONddU2KItQ_1770303351 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: OXPCR7UIRX3CA65YFX67IDUBE7EC5BGQ X-Message-ID-Hash: OXPCR7UIRX3CA65YFX67IDUBE7EC5BGQ X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1770304289820154100 Content-Type: text/plain; charset="utf-8" From: Peter Krempa The only thing that 'qemuProcessRefreshDisks' currently does is to update tray state for disks. This makes no sense on cold boot since only cdroms have tray and the tray is closed. Avoid the extra call to 'query-block' on cold boot and just assume CDROM has a closed tray. Signed-off-by: Peter Krempa --- src/qemu/qemu_process.c | 47 ++++++++++++++++++++++++++++++----------- 1 file changed, 35 insertions(+), 12 deletions(-) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 2628a89cbf..51b91f2b98 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -8640,6 +8640,7 @@ qemuProcessRefreshRxFilters(virDomainObj *vm, static int qemuProcessRefreshDisks(virDomainObj *vm, + bool cold_start, virDomainAsyncJob asyncJob) { qemuDomainObjPrivate *priv =3D vm->privateData; @@ -8647,13 +8648,15 @@ qemuProcessRefreshDisks(virDomainObj *vm, g_autoptr(GHashTable) table =3D NULL; size_t i; - if (qemuDomainObjEnterMonitorAsync(vm, asyncJob) =3D=3D 0) { - table =3D qemuMonitorGetBlockInfo(priv->mon); - qemuDomainObjExitMonitor(vm); - } + if (!cold_start) { + if (qemuDomainObjEnterMonitorAsync(vm, asyncJob) =3D=3D 0) { + table =3D qemuMonitorGetBlockInfo(priv->mon); + qemuDomainObjExitMonitor(vm); + } - if (!table) - return -1; + if (!table) + return -1; + } for (i =3D 0; i < vm->def->ndisks; i++) { virDomainDiskDef *disk =3D vm->def->disks[i]; @@ -8661,6 +8664,14 @@ qemuProcessRefreshDisks(virDomainObj *vm, struct qemuDomainDiskInfo *info; const char *entryname =3D disk->info.alias; + /* At startup, when the rest of the detection will be skipped cdro= ms + * have empty trays */ + if (disk->device =3D=3D VIR_DOMAIN_DISK_DEVICE_CDROM) + disk->tray_status =3D VIR_DOMAIN_DISK_TRAY_CLOSED; + + if (!table) + continue; + if (diskpriv->qomName) entryname =3D diskpriv->qomName; @@ -8690,15 +8701,17 @@ qemuProcessRefreshDisks(virDomainObj *vm, /** * qemuProcessRefreshState: * @vm: domain to refresh + * @cold_boot: starting a fresh VM * @asyncJob: async job type * * This function gathers calls to refresh qemu state after startup. This * function is called after a deferred migration finishes so that we can u= pdate * state influenced by the migration stream. */ -int -qemuProcessRefreshState(virDomainObj *vm, - virDomainAsyncJob asyncJob) +static int +qemuProcessRefreshStateInternal(virDomainObj *vm, + bool cold_boot, + virDomainAsyncJob asyncJob) { VIR_DEBUG("Fetching list of active devices"); if (qemuDomainUpdateDeviceList(vm, asyncJob) < 0) @@ -8713,7 +8726,7 @@ qemuProcessRefreshState(virDomainObj *vm, return -1; VIR_DEBUG("Updating disk data"); - if (qemuProcessRefreshDisks(vm, asyncJob) < 0) + if (qemuProcessRefreshDisks(vm, cold_boot, asyncJob) < 0) return -1; VIR_DEBUG("Updating rx-filter data"); @@ -8724,6 +8737,14 @@ qemuProcessRefreshState(virDomainObj *vm, } +int +qemuProcessRefreshState(virDomainObj *vm, + virDomainAsyncJob asyncJob) +{ + return qemuProcessRefreshStateInternal(vm, false, asyncJob); +} + + /** * qemuProcessFinishStartup: * @@ -8836,7 +8857,9 @@ qemuProcessStart(virConnectPtr conn, /* Refresh state of devices from QEMU. During migration this happe= ns * in qemuMigrationDstFinish to ensure that state information is f= ully * transferred. */ - if (qemuProcessRefreshState(vm, asyncJob) < 0) + if (qemuProcessRefreshStateInternal(vm, + !!(flags & VIR_QEMU_PROCESS_ST= ART_COLD), + asyncJob) < 0) goto stop; } @@ -9930,7 +9953,7 @@ qemuProcessReconnect(void *opaque) qemuProcessFiltersInstantiate(obj->def); - if (qemuProcessRefreshDisks(obj, VIR_ASYNC_JOB_NONE) < 0) + if (qemuProcessRefreshDisks(obj, false, VIR_ASYNC_JOB_NONE) < 0) goto error; /* At this point we've already checked that the startup of the VM was --=20 2.53.0 From nobody Sat Feb 7 11:31:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1770304234; cv=none; d=zohomail.com; s=zohoarc; b=Bjeaz4S/nk5VKtH05DXuFceyDsJQNsOBwbKnB2+mpqoUbnsPm0pxsO28pFC6PDbBHf1nSmoQeV7TYubG7jWbUQJzru14xKihY67ScZgu2NcvrC6aZEYIgkpHdKkREBzY3f4CLGdbkFj92yZO9ykAufJuSkEcf/Jo20jtsiw1yNs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770304234; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=UH3oFur9z5eGo7dKCt7OVrrgrqLNWWjB0BRf1ZUWOcg=; b=OKSWuN+lUnqZ5vgLQbvJgjAZb0sYDcMZrxY6AJqAdK6FEaN7bMJygT/wKDor4GdIa1ozJKV/HmBTzTxAjUYVgL0i4396lkQk86u4zHN9yCY0PRKtLiTIoaYZDHrTSa4o8oFOFlnhtWJQJL/UweWLryRS9H47Y6f4h9X/miSLy1Q= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1770304234806916.8495332593099; Thu, 5 Feb 2026 07:10:34 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id CC15D417D9; Thu, 5 Feb 2026 10:10:33 -0500 (EST) Received: from [172.19.199.6] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 2E5B94416E; Thu, 5 Feb 2026 09:59:55 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id 6F0CB41C5F; Thu, 5 Feb 2026 09:59:41 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id CEFE73F287 for ; Thu, 5 Feb 2026 09:55:54 -0500 (EST) Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-591-3rnZr-AuOR6_390U3x9oUQ-1; Thu, 05 Feb 2026 09:55:53 -0500 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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 mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 7B5451955F03 for ; Thu, 5 Feb 2026 14:55:52 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.3]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id BF4CB18003F6 for ; Thu, 5 Feb 2026 14:55:51 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770303354; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=UH3oFur9z5eGo7dKCt7OVrrgrqLNWWjB0BRf1ZUWOcg=; b=RkXmLzO4IMOXj54RNCbmy/mCMcICBQBEWKvVYN6K5qZbfqOepD5HIFJ4gNN5TpHLmjnktU 0JY715AuGiC4bpzlswuersZgyOdxt/jI3I5ZsgE9Cgwy/rCGmz1fI7R3KVA7cgMimyC2Hs ROPEt45SdfpmSEyUDaYG4coh+kFcRbA= X-MC-Unique: 3rnZr-AuOR6_390U3x9oUQ-1 X-Mimecast-MFC-AGG-ID: 3rnZr-AuOR6_390U3x9oUQ_1770303352 To: devel@lists.libvirt.org Subject: [PATCH RFC 19/20] qemu: capabilities: Introduce QEMU_CAPS_QUERY_BLOCK_FLAT Date: Thu, 5 Feb 2026 15:55:27 +0100 Message-ID: <89b706377a3e7eb9fdc3f03550f1197e75aede23.1770303113.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: Ze2MIiyZUBnQu2hZ1FiwhI1lmGVyhFVMwPk91k4_65I_1770303352 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: YUIJQOXMKIDRFSFADQLUQDFKWBRJ73FX X-Message-ID-Hash: YUIJQOXMKIDRFSFADQLUQDFKWBRJ73FX X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1770304236749158500 Content-Type: text/plain; charset="utf-8" From: Peter Krempa The 'flat' mode of 'query-block' allows ommiting information we don't actually read. Add a capability which will allow us to request the new mode. Signed-off-by: Peter Krempa --- src/qemu/qemu_capabilities.c | 2 ++ src/qemu/qemu_capabilities.h | 1 + 2 files changed, 3 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index f456e8a378..69db20e5b0 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -755,6 +755,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "disk-timed-stats", /* QEMU_CAPS_DISK_TIMED_STATS */ "query-accelerators", /* QEMU_CAPS_QUERY_ACCELERATORS */ "mshv", /* QEMU_CAPS_MSHV */ + "query-block-flat", /* QEMU_CAPS_QUERY_BLOCK_FLAT */ ); @@ -1647,6 +1648,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSc= hemaQueries[] =3D { { "netdev_add/arg-type/+stream/reconnect-ms", QEMU_CAPS_NETDEV_STREAM_= RECONNECT_MILISECONDS }, { "object-add/arg-type/+sev-guest/kernel-hashes", QEMU_CAPS_SEV_GUEST_= KERNEL_HASHES }, { "object-add/arg-type/+iothread/thread-pool-max", QEMU_CAPS_IOTHREAD_= THREAD_POOL_MAX }, + { "query-block/arg-type/flat", QEMU_CAPS_QUERY_BLOCK_FLAT }, { "query-display-options/ret-type/+egl-headless/rendernode", QEMU_CAPS= _EGL_HEADLESS_RENDERNODE }, { "query-display-options/ret-type/+sdl", QEMU_CAPS_SDL }, { "query-display-options/ret-type/+egl-headless", QEMU_CAPS_EGL_HEADLE= SS }, diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index f180844e66..da9143f4da 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -730,6 +730,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for = syntax-check */ QEMU_CAPS_DISK_TIMED_STATS, /* timed stats support ('stats-intervals' = property of disk frontends) */ QEMU_CAPS_QUERY_ACCELERATORS, /* query-accelerators command */ QEMU_CAPS_MSHV, /* -accel mshv */ + QEMU_CAPS_QUERY_BLOCK_FLAT, /* 'query-block' command supports 'flat' */ QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; --=20 2.53.0 From nobody Sat Feb 7 11:31:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1770304328; cv=none; d=zohomail.com; s=zohoarc; b=KI2eCmrreGS8+M9E61lL+mtJKQyClM+F/W/rASNoCJuTQaqCYGKziehVvANGEbfvTZ7wkDnTpwlLN6FFeiEuVdlKAV9TPTHsen9iBCrtNGZlfTItrMPrQ0gkfmO5EuI4A7R7DAMkQ+MKBEujrRzOXwDv4gFIg28a9ETGn/Xc818= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770304328; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=5V+/E1d3Ny+m+i1Azb76Go6Sg043Ms9yZ6ftWKc1ce8=; b=grdtuWuPCGGXeaov8ygOMyeDQTh9QQFwYy7Z0aqsq00fEi0X099vgvn7+y2lpPRUCzp2KhsDhZ+aSgpZ0qHcHM8TFljAUXiMQy91Z7Cc9YSsWQRTdKhfiTKnisTpOFw1VuoomnV+c1/UfN2v3G16Frf8vjTLdeHbkff+mVkADnk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1770304328418536.9660321881105; Thu, 5 Feb 2026 07:12:08 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id EE90643DC2; Thu, 5 Feb 2026 10:12:07 -0500 (EST) Received: from [172.19.199.6] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 6E8F7441FE; Thu, 5 Feb 2026 09:59:58 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id C917F41C5F; Thu, 5 Feb 2026 09:59:41 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id E0E2D41B43 for ; Thu, 5 Feb 2026 09:55:55 -0500 (EST) Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-516-e0IcUe01Mzq9ysOkP5iGXA-1; Thu, 05 Feb 2026 09:55:54 -0500 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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 mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 9FBE81800464 for ; Thu, 5 Feb 2026 14:55:53 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.3]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id E56BC18003F6 for ; Thu, 5 Feb 2026 14:55:52 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770303355; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5V+/E1d3Ny+m+i1Azb76Go6Sg043Ms9yZ6ftWKc1ce8=; b=ez9K0GRa7+5jyAS+nr2Y7IKV+/NhiboOtgvVP4yXAZgXVX7d7++GJBkL7+CpuHgPjPq6OV Uyz+zAUvQP1IVPolMqNBqJqRmwoXHkcAWuSG56gb8g9u9SPhWoGt961uGY4jbBBvHUh1CF V7lZGhj88U4LWyGHqZtTxK/+NApEZTg= X-MC-Unique: e0IcUe01Mzq9ysOkP5iGXA-1 X-Mimecast-MFC-AGG-ID: e0IcUe01Mzq9ysOkP5iGXA_1770303353 To: devel@lists.libvirt.org Subject: [PATCH RFC 20/20] qemu: monitor: Use 'flat' mode of 'query-block' Date: Thu, 5 Feb 2026 15:55:28 +0100 Message-ID: <0529fe2e3a2db956e97a9ee8cc728217498aab8e.1770303113.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: L4JwY706DjzsUKzjReEveRl8e9ZD9wgRFAtqgvZsYTI_1770303353 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: NBIZQBK2OOHJMRHZYKOMQDXLTPBYAYZU X-Message-ID-Hash: NBIZQBK2OOHJMRHZYKOMQDXLTPBYAYZU X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1770304330378154100 Content-Type: text/plain; charset="utf-8" From: Peter Krempa We don't actually look at any of the information in 'backing-image' field so we can ask qemu not to send it to us. Signed-off-by: Peter Krempa --- src/qemu/qemu_monitor.c | 1 + src/qemu/qemu_monitor_json.c | 12 ++++++++++-- src/qemu/qemu_monitor_priv.h | 3 +++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 1434da7f70..ffd8a281b9 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -585,6 +585,7 @@ qemuMonitorOpenInternal(virDomainObj *vm, if (priv) { mon->blockjobMaskProtocol =3D virQEMUCapsGet(priv->qemuCaps, QEMU_= CAPS_BLOCKJOB_BACKING_MASK_PROTOCOL); + mon->queryBlockFlat =3D virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_Q= UERY_BLOCK_FLAT); } if (virSetCloseExec(mon->fd) < 0) { diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 971e8dd63f..6eff95f44a 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -2243,7 +2243,9 @@ qemuMonitorJSONQueryNamedBlockNodes(qemuMonitor *mon) * @mon: Monitor pointer * * This helper will attempt to make a "query-block" call and check for - * errors before returning with the reply. + * errors before returning with the reply. If qemu supports 'flat' mode + * (which ommits 'backing-image' field in the reply objects) we will enable + * it as no callers need that information. * * Returns: NULL on error, reply on success */ @@ -2252,8 +2254,14 @@ qemuMonitorJSONQueryBlock(qemuMonitor *mon) { g_autoptr(virJSONValue) cmd =3D NULL; g_autoptr(virJSONValue) reply =3D NULL; + virTristateBool flat =3D VIR_TRISTATE_BOOL_ABSENT; + + if (mon->queryBlockFlat) + flat =3D VIR_TRISTATE_BOOL_YES; - if (!(cmd =3D qemuMonitorJSONMakeCommand("query-block", NULL))) + if (!(cmd =3D qemuMonitorJSONMakeCommand("query-block", + "T:flat", flat, + NULL))) return NULL; if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0 || diff --git a/src/qemu/qemu_monitor_priv.h b/src/qemu/qemu_monitor_priv.h index 198105007e..ee644123ca 100644 --- a/src/qemu/qemu_monitor_priv.h +++ b/src/qemu/qemu_monitor_priv.h @@ -90,6 +90,9 @@ struct _qemuMonitor { /* use the backing-mask-protocol flag of block-commit/stream */ bool blockjobMaskProtocol; + + /* 'query-block' supports flat mode */ + bool queryBlockFlat; }; --=20 2.53.0