From nobody Wed May 8 00:22:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1614182328; cv=none; d=zohomail.com; s=zohoarc; b=hxXFayBOJ4B/PsQS3WWHz9wyLi7JzN+cYipG1yITxOVKXogaZ+i28nd77DDeKuGQ0m9ARZdcrimUnwUfIspPdJRjXoFUSYBgyIXOY3Zw2SAKPzJfsXq9ls5tKtIBF6QzmcidPzxSNPwyfJdtMnHd8OY1IpI6HX4Oio7obl8S23g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1614182328; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ef0jhjD3nVTX1y/jzTdN+c3vJFjeXiQ956RSIskGTHA=; b=ifEmwHEON2tGsJyw6rXB4VcgIIrzWWn+4rKacF+ahYnmaes4jQVbAA5BliI7V4KnENlS3bQYFORYaC2RiAswkOLNz4Zd0r9Qn6w8uWVYxGplQrSfNRncgDzv5S3XU7owI3LTo/TqFSfiFSV/9QJ7Lz3eMIIUVaecgPNDgKkyiW8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1614182328988984.2944317248468; Wed, 24 Feb 2021 07:58:48 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-23-U15b_dgSPzit3-ptVxtf1Q-1; Wed, 24 Feb 2021 10:58:45 -0500 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 42D381005501; Wed, 24 Feb 2021 15:58:20 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 36C495C22B; Wed, 24 Feb 2021 15:58:19 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id D9C8718095CB; Wed, 24 Feb 2021 15:58:14 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 11OFwBYO010676 for ; Wed, 24 Feb 2021 10:58:11 -0500 Received: by smtp.corp.redhat.com (Postfix) id E2F8F10016FD; Wed, 24 Feb 2021 15:58:11 +0000 (UTC) Received: from speedmetal.lan (unknown [10.40.208.53]) by smtp.corp.redhat.com (Postfix) with ESMTP id 52CA210016F9 for ; Wed, 24 Feb 2021 15:58:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1614182327; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=ef0jhjD3nVTX1y/jzTdN+c3vJFjeXiQ956RSIskGTHA=; b=VdWx+gKTInM+Mh6BKLrj29GQ/2BZOWUZA4L7R/k+rNgDzsZlEbcaPs4D8Z5ydFzpoWjG3r wTF1wSZanUaR/oWKH0wjxZj3D8HO3PZYYqbYNLB55GMW6Yn1lsVdFRBwU5IvC07QCsecSu r2DagN5vlWsi9k+vs1vti08HsKUESZ8= X-MC-Unique: U15b_dgSPzit3-ptVxtf1Q-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH v2 01/12] qemu: command: Generate commandline of 'masterKey0' secret via JSON Date: Wed, 24 Feb 2021 16:57:55 +0100 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" While the 'masterKey0' secret object will never be hotplugged we want to generate it through JSON so that we'll be able to validate all parameters of '-object' against the QAPI schema once 'object-add' is qapified in qemu. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_command.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index f255b0f881..9538bc9a2a 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -195,6 +195,7 @@ qemuBuildMasterKeyCommandLine(virCommandPtr cmd, g_autofree char *alias =3D NULL; g_autofree char *path =3D NULL; g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; + g_autoptr(virJSONValue) props =3D NULL; /* If the -object secret does not exist, then just return. This just * means the domain won't be able to use a secret master key and is @@ -216,9 +217,16 @@ qemuBuildMasterKeyCommandLine(virCommandPtr cmd, if (!(path =3D qemuDomainGetMasterKeyFilePath(priv->libDir))) return -1; + if (qemuMonitorCreateObjectProps(&props, "secret", alias, + "s:format", "raw", + "s:file", path, + NULL) < 0) + return -1; + + if (virQEMUBuildObjectCommandlineFromJSON(&buf, props) < 0) + return -1; + virCommandAddArg(cmd, "-object"); - virBufferAsprintf(&buf, "secret,id=3D%s,format=3Draw,file=3D", alias); - virQEMUBuildBufferEscapeComma(&buf, path); virCommandAddArgBuffer(cmd, &buf); return 0; --=20 2.29.2 From nobody Wed May 8 00:22:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1614182419; cv=none; d=zohomail.com; s=zohoarc; b=QVSNqdrFKXgv3Q0ywNMHbFJTfXhJBWBfVDtskf6QUR52b2qvSmraW9vvKLLWePV7VZZu4zagjRjj+M5dfWHvYMYvjt9guUgV3UfIs4JdeaOwLzmg+TiQGKyiKXEy5dx7fL3G/cwlkqnJ59gCkwOmQCJwzvjnyult5SOz+XkM8wY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1614182419; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=uyylnXxAeWxfOnlBHIhpzW/bcPrh1Ji2EHQZ9dfhAzM=; b=CCbbDP1rqxpP4YuJtHdG3sxQZi4Ka+pZowJhJlfVnnQsyzYqo3nun0h2smg/Y7hmx6gDlOI5Uy3Yzgcyz8a2uz8zMXxTxw4E3UWCL34+xk8KAJYNTNSUMFpwt3N7tob9tkBZWvBx5RyeTGJ8SlDqMoQwU3zeTAFluBnhSZiIA6Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1614182418655270.6625195403233; Wed, 24 Feb 2021 08:00:18 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-497-46BqUkd8MbOUBXGolnCT5A-1; Wed, 24 Feb 2021 10:58:57 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 52E4DDF8B6; Wed, 24 Feb 2021 15:58:41 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2A33310016FD; Wed, 24 Feb 2021 15:58:41 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id E3C161809C90; Wed, 24 Feb 2021 15:58:40 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 11OFwC3d010685 for ; Wed, 24 Feb 2021 10:58:12 -0500 Received: by smtp.corp.redhat.com (Postfix) id E9DB410016FD; Wed, 24 Feb 2021 15:58:12 +0000 (UTC) Received: from speedmetal.lan (unknown [10.40.208.53]) by smtp.corp.redhat.com (Postfix) with ESMTP id 55A3110016F9 for ; Wed, 24 Feb 2021 15:58:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1614182416; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=uyylnXxAeWxfOnlBHIhpzW/bcPrh1Ji2EHQZ9dfhAzM=; b=Ezr8WkkSGOXaLQP+/6zFKtiwmTIyeoGVbBtglvRodrAhYQo9HGDvHapz2dzDiG9CGvN1sx Rhiu2OiviHXJUYsMoSVQU+lF0FmTVyMP8X1KCv9A1EbaN6uQ/3a6TUXin1rBvewSn3NanW I4obviJ/dm8rzxuSA2eUls3bEXjx6qU= X-MC-Unique: 46BqUkd8MbOUBXGolnCT5A-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH v2 02/12] qemu: command: Generate commandline of 'sev0' sev-guest object via JSON Date: Wed, 24 Feb 2021 16:57:56 +0100 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" While the 'sev0' sev-guest object will never be hotplugged, but we want to generate it through JSON so that we'll be able to validate all parameters of '-object' against the QAPI schema once 'object-add' is qapified in qemu. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_command.c | 32 +++++++++++-------- ...v-missing-platform-info.x86_64-2.12.0.args | 2 +- .../launch-security-sev.x86_64-2.12.0.args | 2 +- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 9538bc9a2a..579b00c029 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -9444,9 +9444,11 @@ static int qemuBuildSEVCommandLine(virDomainObjPtr vm, virCommandPtr cmd, virDomainSEVDefPtr sev) { + g_autoptr(virJSONValue) props =3D NULL; g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; qemuDomainObjPrivatePtr priv =3D vm->privateData; - char *path =3D NULL; + g_autofree char *dhpath =3D NULL; + g_autofree char *sessionpath =3D NULL; if (!sev) return 0; @@ -9454,21 +9456,23 @@ qemuBuildSEVCommandLine(virDomainObjPtr vm, virComm= andPtr cmd, VIR_DEBUG("policy=3D0x%x cbitpos=3D%d reduced_phys_bits=3D%d", sev->policy, sev->cbitpos, sev->reduced_phys_bits); - virBufferAsprintf(&buf, "sev-guest,id=3Dsev0,cbitpos=3D%d", sev->cbitp= os); - virBufferAsprintf(&buf, ",reduced-phys-bits=3D%d", sev->reduced_phys_b= its); - virBufferAsprintf(&buf, ",policy=3D0x%x", sev->policy); + if (sev->dh_cert) + dhpath =3D g_strdup_printf("%s/dh_cert.base64", priv->libDir); - if (sev->dh_cert) { - path =3D g_strdup_printf("%s/dh_cert.base64", priv->libDir); - virBufferAsprintf(&buf, ",dh-cert-file=3D%s", path); - VIR_FREE(path); - } + if (sev->session) + sessionpath =3D g_strdup_printf("%s/session.base64", priv->libDir); - if (sev->session) { - path =3D g_strdup_printf("%s/session.base64", priv->libDir); - virBufferAsprintf(&buf, ",session-file=3D%s", path); - VIR_FREE(path); - } + if (qemuMonitorCreateObjectProps(&props, "sev-guest", "sev0", + "u:cbitpos", sev->cbitpos, + "u:reduced-phys-bits", sev->reduced_p= hys_bits, + "u:policy", sev->policy, + "S:dh-cert-file", dhpath, + "S:session-file", sessionpath, + NULL) < 0) + return -1; + + if (virQEMUBuildObjectCommandlineFromJSON(&buf, props) < 0) + return -1; virCommandAddArg(cmd, "-object"); virCommandAddArgBuffer(cmd, &buf); diff --git a/tests/qemuxml2argvdata/launch-security-sev-missing-platform-in= fo.x86_64-2.12.0.args b/tests/qemuxml2argvdata/launch-security-sev-missing-= platform-info.x86_64-2.12.0.args index f6cbd016df..717a21b7b0 100644 --- a/tests/qemuxml2argvdata/launch-security-sev-missing-platform-info.x86_= 64-2.12.0.args +++ b/tests/qemuxml2argvdata/launch-security-sev-missing-platform-info.x86_= 64-2.12.0.args @@ -29,7 +29,7 @@ file=3D/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -device piix3-usb-uhci,id=3Dusb,bus=3Dpci.0,addr=3D0x1.0x2 \ -drive file=3D/dev/HostVG/QEMUGuest1,format=3Draw,if=3Dnone,id=3Ddrive-ide= 0-0-0 \ -device ide-hd,bus=3Dide.0,unit=3D0,drive=3Ddrive-ide0-0-0,id=3Dide0-0-0,b= ootindex=3D1 \ --object sev-guest,id=3Dsev0,cbitpos=3D47,reduced-phys-bits=3D1,policy=3D0x= 1,\ +-object sev-guest,id=3Dsev0,cbitpos=3D47,reduced-phys-bits=3D1,policy=3D1,\ dh-cert-file=3D/tmp/lib/domain--1-QEMUGuest1/dh_cert.base64,\ session-file=3D/tmp/lib/domain--1-QEMUGuest1/session.base64 \ -sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,\ diff --git a/tests/qemuxml2argvdata/launch-security-sev.x86_64-2.12.0.args = b/tests/qemuxml2argvdata/launch-security-sev.x86_64-2.12.0.args index f6cbd016df..717a21b7b0 100644 --- a/tests/qemuxml2argvdata/launch-security-sev.x86_64-2.12.0.args +++ b/tests/qemuxml2argvdata/launch-security-sev.x86_64-2.12.0.args @@ -29,7 +29,7 @@ file=3D/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -device piix3-usb-uhci,id=3Dusb,bus=3Dpci.0,addr=3D0x1.0x2 \ -drive file=3D/dev/HostVG/QEMUGuest1,format=3Draw,if=3Dnone,id=3Ddrive-ide= 0-0-0 \ -device ide-hd,bus=3Dide.0,unit=3D0,drive=3Ddrive-ide0-0-0,id=3Dide0-0-0,b= ootindex=3D1 \ --object sev-guest,id=3Dsev0,cbitpos=3D47,reduced-phys-bits=3D1,policy=3D0x= 1,\ +-object sev-guest,id=3Dsev0,cbitpos=3D47,reduced-phys-bits=3D1,policy=3D1,\ dh-cert-file=3D/tmp/lib/domain--1-QEMUGuest1/dh_cert.base64,\ session-file=3D/tmp/lib/domain--1-QEMUGuest1/session.base64 \ -sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,\ --=20 2.29.2 From nobody Wed May 8 00:22:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1614182337; cv=none; d=zohomail.com; s=zohoarc; b=GMrLhGacrP2I1J7z2+DfyZBwp0j7MyDUcz5NiU5aFAokv4aUbjK2ZHTvecNHU22NH7GtT5x/S4NrO+2Ga2zzLFCqOvbpbkiP1pP6tIZo+X9CVGHq+Pqd7T03nxYrKnRmykIjZMweMBbHGWnBEvMZiHLnCL3Ak6bzIixhKW+krKQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1614182337; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=SUjn/cLsERXqOrfp8yzRbkD4YISopPPGPWAN0B8hc3E=; b=lER5Q6/onkL2/EhyctbDlCzp63msOIA9Et2y+DDL0fTmWPUMyVfjoBwZgOUXpOKsKEWpVh9F79321XZjm9wtEUjKED3909UBbaJlNxK2iYyE6D/+aNAmG+h5C60IqcEUQGFT7pZGQo2mtWx6qy1QDn/oeloxvHMYpBpOJiJ95ls= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1614182337824305.22016997204537; Wed, 24 Feb 2021 07:58:57 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-515-C79MEo1oOliWY1ao9XY2tQ-1; Wed, 24 Feb 2021 10:58:51 -0500 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id D098B801977; Wed, 24 Feb 2021 15:58:42 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id AC7C760BF3; Wed, 24 Feb 2021 15:58:42 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 731741809C8F; Wed, 24 Feb 2021 15:58:42 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 11OFwD50010714 for ; Wed, 24 Feb 2021 10:58:14 -0500 Received: by smtp.corp.redhat.com (Postfix) id F08EB1001E73; Wed, 24 Feb 2021 15:58:13 +0000 (UTC) Received: from speedmetal.lan (unknown [10.40.208.53]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5B76D10016F9 for ; Wed, 24 Feb 2021 15:58:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1614182336; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=SUjn/cLsERXqOrfp8yzRbkD4YISopPPGPWAN0B8hc3E=; b=Nv1D+/iyZC+TI/av3B+kRIb/LxOJogLxQWxxwe1WHXf0XU8N18Xq3RJZu3axbaYUPbgTxP zELdXzzjhXmFWZghkVNvxyuyqFuBtMYJ7AJtLukPpt6iFG0FYKASZuc3Uot7+DXMxZETm9 wd+C2CT12jseB9bkZMHe2unRpQfiH0Q= X-MC-Unique: C79MEo1oOliWY1ao9XY2tQ-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH v2 03/12] qemu: command: Generate commandline of iothread objects JSON Date: Wed, 24 Feb 2021 16:57:57 +0100 Message-Id: <81a77bdf7b5472a199f3df25b353d1a8bbea89f3.1614182040.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" The commandline generator for 'iothread' objects has a private implementation of the properties. Convert it to JSON so that it can be later validated. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_command.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 579b00c029..7bdcdab95a 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7228,15 +7228,19 @@ qemuBuildIOThreadCommandLine(virCommandPtr cmd, if (def->niothreadids =3D=3D 0) return 0; - /* Create iothread objects using the defined iothreadids list - * and the defined id and name from the list. These may be used - * by a disk definition which will associate to an iothread by - * supplying a value of an id from the list - */ for (i =3D 0; i < def->niothreadids; i++) { + g_autoptr(virJSONValue) props =3D NULL; + g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; + g_autofree char *alias =3D g_strdup_printf("iothread%u", def->ioth= readids[i]->iothread_id); + + if (qemuMonitorCreateObjectProps(&props, "iothread", alias, NULL) = < 0) + return -1; + + if (virQEMUBuildObjectCommandlineFromJSON(&buf, props) < 0) + return -1; + virCommandAddArg(cmd, "-object"); - virCommandAddArgFormat(cmd, "iothread,id=3Diothread%u", - def->iothreadids[i]->iothread_id); + virCommandAddArgBuffer(cmd, &buf); } return 0; --=20 2.29.2 From nobody Wed May 8 00:22:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1614182338; cv=none; d=zohomail.com; s=zohoarc; b=YhRk5YubOhaTDbqUlgHQG0DJZK5QZ3maBTM1hjNnJ9jIrTnqXN5TAYUqeRoeRvD2T3DSDctUsruJHCpgKxkdkMnh1vdHjdoZx4Bz5Shq4T5QbHXZlH3gFnkYOefm5nT00X9wx9lPJCBiIdlZrG8CymlDLh5esajMf61h+SOgz/E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1614182338; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=uIW5XDNJmLHEXWrVWbu+fQuzmyD59Ms6VhST2hrh3/E=; b=iAKKKyzLEMceIXKAKqUFpd34YZuyOspQN0/mQJMfZ62UJMYX2V2KrP0zvaOjjiDfiyw2gg0QTr4DhsGp+p2uZxcKGGCbz4uZ4olVGB08NCk4pAa2xwy90vyeuTaO5mR9VeB1bev6S8CXSto4c+qBsX7ZABRSZYMCk0sGSmjzOf4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1614182338782142.70998325912637; Wed, 24 Feb 2021 07:58:58 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-192-m6xNWlKVOKCkBphyEUwpKA-1; Wed, 24 Feb 2021 10:58:55 -0500 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id B4836DF8D0; Wed, 24 Feb 2021 15:58:45 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 93F5B50DD2; Wed, 24 Feb 2021 15:58:45 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 5BD95CF43; Wed, 24 Feb 2021 15:58:45 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 11OFwF3l010752 for ; Wed, 24 Feb 2021 10:58:15 -0500 Received: by smtp.corp.redhat.com (Postfix) id 06F3610021AA; Wed, 24 Feb 2021 15:58:15 +0000 (UTC) Received: from speedmetal.lan (unknown [10.40.208.53]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5F5731001E73 for ; Wed, 24 Feb 2021 15:58:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1614182337; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=uIW5XDNJmLHEXWrVWbu+fQuzmyD59Ms6VhST2hrh3/E=; b=jVIPs5lkiu0sNDxiQy/oN96VAh6cHKEK4nOWUsUJgpkifVa8DqiG9AiNE3dbtfo5qTWxWp P6Dg5TlqfeCEk5F8RPbT/N82MiK7RKxZo0tPeHMLlmB2+vlIwHe49QGL0KcAnGQVol1ZLC o59+mAUKMYOrTGlifjypLXRJZz4xZJw= X-MC-Unique: m6xNWlKVOKCkBphyEUwpKA-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH v2 04/12] qemu: capabilities: Introduce QEMU_CAPS_OBJECT_QAPIFIED Date: Wed, 24 Feb 2021 16:57:58 +0100 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Starting from qemu-6.0 the parameters of -object/object-add are formally described by the QAPI schema. Additionally this changes the nesting of the properties as the 'props' nested object will be flattened to the parent. We'll need to detect whether qemu switched to this new approach to generate the objects with proper nesting and also allow testing. The capability is based on the presence of the 'secret' object in the 'qom-type' enum. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_capabilities.c | 4 ++++ src/qemu/qemu_capabilities.h | 3 +++ 2 files changed, 7 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index f40d6d77be..d1452f6354 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -618,6 +618,9 @@ VIR_ENUM_IMPL(virQEMUCaps, "memory-backend-file.x-use-canonical-path-for-ramblock-id", "vnc-opts", "migration-param.block-bitmap-mapping", + + /* 395 */ + "object.qapified", ); @@ -1553,6 +1556,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSc= hemaQueries[] =3D { { "netdev_add/arg-type/+vhost-vdpa", QEMU_CAPS_NETDEV_VHOST_VDPA }, { "migrate-set-parameters/arg-type/block-bitmap-mapping/bitmaps/transf= orm", QEMU_CAPS_MIGRATION_PARAM_BLOCK_BITMAP_MAPPING }, + { "object-add/arg-type/qom-type/^secret", QEMU_CAPS_OBJECT_QAPIFIED }, }; typedef struct _virQEMUCapsObjectTypeProps virQEMUCapsObjectTypeProps; diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index a5b6c7f104..193432246d 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -599,6 +599,9 @@ typedef enum { /* virQEMUCapsFlags grouping marker for = syntax-check */ QEMU_CAPS_VNC_OPTS, /* -vnc uses QemuOpts parser instead of custom cod= e */ QEMU_CAPS_MIGRATION_PARAM_BLOCK_BITMAP_MAPPING, /* block-bitmap-mappin= g in migrate-set-parameters */ + /* 395 */ + QEMU_CAPS_OBJECT_QAPIFIED, /* parameters for object-add are formally d= escribed */ + QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; --=20 2.29.2 From nobody Wed May 8 00:22:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1614182340; cv=none; d=zohomail.com; s=zohoarc; b=BLn3BW2xjP69QuLKn+MSQIoaNnGKwy+EehtVAeyHBXRvLC6FRo3Hcm5q4BaFVqrMY3yj3d2A052L9jv2pvr+R0VBxCphHxJOLFmad0mYgOER84lbGMr/tz6iw7bF3CQuOA7v40wTv7USVKXdLxp43B3XlJK+/ut6KVbdFusZfCI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1614182340; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=2Yvd0PIegkjsTSPCksYh9JfoUD0HW2IYjdcrZrZ9osY=; b=OWInRv3B+XMQTaSxz1odiOV5yLF1x48ZwFTO+BUj+vhbRfFGGorZjCr5NStAxskZkC6QdOqHOJcOu8FECvp9jPChcmhQpfypFy9jqZLYVhd3Wd9xQ4QrWS7JGAKqWYB+omTd9JczvPeIG5eRK/KVF8PJkOPIYfCcILLmUoBFWgo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1614182340172443.7965014750514; Wed, 24 Feb 2021 07:59:00 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-190-2Zr7XZz8PLSCMbX5i3wDLg-1; Wed, 24 Feb 2021 10:58:56 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 375A5DF8C3; Wed, 24 Feb 2021 15:58:44 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1363D5D9D3; Wed, 24 Feb 2021 15:58:44 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id CD681CF4B; Wed, 24 Feb 2021 15:58:43 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 11OFwGHq010763 for ; Wed, 24 Feb 2021 10:58:16 -0500 Received: by smtp.corp.redhat.com (Postfix) id 29356100239F; Wed, 24 Feb 2021 15:58:16 +0000 (UTC) Received: from speedmetal.lan (unknown [10.40.208.53]) by smtp.corp.redhat.com (Postfix) with ESMTP id 80929100239A for ; Wed, 24 Feb 2021 15:58:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1614182339; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=2Yvd0PIegkjsTSPCksYh9JfoUD0HW2IYjdcrZrZ9osY=; b=Fww/Rab04GtypcEvY6d5y6Q2KIEu/EvbEYWAhY5ew5RvWyfKTy3e457jX7XsxmXC9Deog2 xioqBMnF/pINTUpKoeG3SFN0aLPsYcsh0eYK8OyQcf0EOw8qrQPNIJj2rMITj/JDm/3996 z6biXkYHBafGoamdTfUuYqa+mXhz9dY= X-MC-Unique: 2Zr7XZz8PLSCMbX5i3wDLg-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH v2 05/12] tests: qemuxml2argv: Validate generation of JSON props for object-add Date: Wed, 24 Feb 2021 16:57:59 +0100 Message-Id: <7233e7fcde596c216fc1f830b138711de755a3a4.1614182040.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Similarly to the validation for blockdev-add and netdev_add, use the qemuxml2argv test repository to drive validation of props for object-add. Signed-off-by: Peter Krempa --- tests/qemuxml2argvtest.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index d6d707cd24..a5e40c218a 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -527,6 +527,7 @@ testCompareXMLToArgvValidateSchema(virQEMUDriverPtr drv, g_autoptr(virCommand) cmd =3D NULL; unsigned int parseFlags =3D info->parseFlags; bool netdevQAPIfied =3D false; + bool objectQAPIfied =3D false; /* comment out with line comment to enable schema checking for non _CA= PS tests if (!info->schemafile) @@ -570,6 +571,7 @@ testCompareXMLToArgvValidateSchema(virQEMUDriverPtr drv, return -1; netdevQAPIfied =3D !virQEMUQAPISchemaPathExists("netdev_add/arg-type/t= ype/!string", schema); + objectQAPIfied =3D virQEMUQAPISchemaPathExists("object-add/arg-type/qo= m-type/^secret", schema); for (i =3D 0; i < nargs; i++) { g_auto(virBuffer) debug =3D VIR_BUFFER_INITIALIZER; @@ -603,6 +605,24 @@ testCompareXMLToArgvValidateSchema(virQEMUDriverPtr dr= v, return -1; } + i++; + } else if (STREQ(args[i], "-object")) { + + if (!objectQAPIfied) { + i++; + continue; + } + + if (!(jsonargs =3D virJSONValueFromString(args[i + 1]))) + return -1; + + if (testQEMUSchemaValidateCommand("object-add", jsonargs, + schema, false, false, &debug= ) < 0) { + VIR_TEST_VERBOSE("failed to validate -object '%s' against = QAPI schema: %s", + args[i + 1], virBufferCurrentContent(&deb= ug)); + return -1; + } + i++; } } --=20 2.29.2 From nobody Wed May 8 00:22:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1614182339; cv=none; d=zohomail.com; s=zohoarc; b=ihSmpMMl4m1ZAsif9Q2pXSiSrXvW490vcaVQUytdxwozBgLDC7v8uOs5CCbrdz/avZx50URGsOWfBdZna9pBC+6o7hIZ79I/NZm1fU5M0+5Iv/X3d20yc0C7182bRzmsZ6/nuRUqWHw5DjTVD/tlYy+GMB0jokKKU01u4I9aVcU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1614182339; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=MfH7pMi+t3PKXKNOvJCPfuQoLBe6CphjNOon8YrcCDM=; b=lz1EnsJfqalyJqiVqQz9OWN0DjyajQhwjjE1gwi1th8kGnXa0xS0KG9alHGF+p8cRwHrBkFSlaaWboNLSLhgi+2PQnaY/w/U/kuBvSLxC7iBIItFQGNmZF++vJdTKK3z5yDpN/YooZ2a0fHLRACXvupbl/h1vo9Dqi7/lPRXgLU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1614182339783679.1397086251387; Wed, 24 Feb 2021 07:58:59 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-331-5Y0HD3uwPUGfFsuPqwaMzA-1; Wed, 24 Feb 2021 10:58:55 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id CAEDF801984; Wed, 24 Feb 2021 15:58:48 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9F7FD100239A; Wed, 24 Feb 2021 15:58:48 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 65AFD18089C9; Wed, 24 Feb 2021 15:58:48 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 11OFwHAV010802 for ; Wed, 24 Feb 2021 10:58:17 -0500 Received: by smtp.corp.redhat.com (Postfix) id 97F8E10023AB; Wed, 24 Feb 2021 15:58:17 +0000 (UTC) Received: from speedmetal.lan (unknown [10.40.208.53]) by smtp.corp.redhat.com (Postfix) with ESMTP id 97B63100239F for ; Wed, 24 Feb 2021 15:58:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1614182338; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=MfH7pMi+t3PKXKNOvJCPfuQoLBe6CphjNOon8YrcCDM=; b=F1zlXdU+/mlHxAt1uHyDla/R2lT4iZhM3jgW7ZpmcZQpJbGJMpVjjOCUNBRHYHP1qIxI0e Z0vQRqnHUESbu1uAQorVC/gsXFOJnzgSOEfYBGH7ElEAlA3ZWEtAlxt0YbgS+Ype/ZXWP1 tLk1V+lyhdlSqRl9CBJLxzz7zTd18pU= X-MC-Unique: 5Y0HD3uwPUGfFsuPqwaMzA-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH v2 06/12] qemu: command: Introduce raw JSON passthrough for '-object' for testing Date: Wed, 24 Feb 2021 16:58:00 +0100 Message-Id: <59a308279fb9a16c540cb81ddcbd40ccf79d8444.1614182040.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" The qemu commandline builder's QEMU_BUILD_COMMANDLINE_VALIDATE_KEEP_JSON flag disables JSON->commandline conversion so that our qemuxml2argvtest can use the commandline test repostitory for validating our JSON props generators which are in many cases used on the montitor where we need to conform to the schema. Wire this up for the -object/object-add pair by adding a flag to virQEMUBuildObjectCommandlineFromJSON to pass through JSON and pipe through the 'flags' variable where necessary. Signed-off-by: Peter Krempa --- src/qemu/qemu_command.c | 264 ++++++++++++++++++++++++---------------- src/util/virqemu.c | 16 ++- src/util/virqemu.h | 3 +- 3 files changed, 176 insertions(+), 107 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 7bdcdab95a..c4bb6a87bb 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -190,7 +190,8 @@ VIR_ENUM_IMPL(qemuNumaPolicy, */ static int qemuBuildMasterKeyCommandLine(virCommandPtr cmd, - qemuDomainObjPrivatePtr priv) + qemuDomainObjPrivatePtr priv, + unsigned int flags) { g_autofree char *alias =3D NULL; g_autofree char *path =3D NULL; @@ -223,7 +224,8 @@ qemuBuildMasterKeyCommandLine(virCommandPtr cmd, NULL) < 0) return -1; - if (virQEMUBuildObjectCommandlineFromJSON(&buf, props) < 0) + if (virQEMUBuildObjectCommandlineFromJSON(&buf, props, + (flags & QEMU_BUILD_COMMANDL= INE_VALIDATE_KEEP_JSON)) < 0) return -1; virCommandAddArg(cmd, "-object"); @@ -699,6 +701,7 @@ qemuBuildSecretInfoProps(qemuDomainSecretInfoPtr secinf= o, * qemuBuildObjectSecretCommandLine: * @cmd: the command to modify * @secinfo: pointer to the secret info object + * @flags: commandline builder flags * * If the secinfo is available and associated with an AES secret, * then format the command line for the secret object. This object @@ -709,7 +712,8 @@ qemuBuildSecretInfoProps(qemuDomainSecretInfoPtr secinf= o, */ static int qemuBuildObjectSecretCommandLine(virCommandPtr cmd, - qemuDomainSecretInfoPtr secinfo) + qemuDomainSecretInfoPtr secinfo, + unsigned int flags) { g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; g_autoptr(virJSONValue) props =3D NULL; @@ -717,7 +721,8 @@ qemuBuildObjectSecretCommandLine(virCommandPtr cmd, if (qemuBuildSecretInfoProps(secinfo, &props) < 0) return -1; - if (virQEMUBuildObjectCommandlineFromJSON(&buf, props) < 0) + if (virQEMUBuildObjectCommandlineFromJSON(&buf, props, + (flags & QEMU_BUILD_COMMANDL= INE_VALIDATE_KEEP_JSON)) < 0) return -1; virCommandAddArg(cmd, "-object"); @@ -865,6 +870,7 @@ qemuBuildTLSx509BackendProps(const char *tlspath, * (optional) * @alias: TLS object alias * @qemuCaps: capabilities + * @flags: commandline builder flags * * Create the command line for a TLS object * @@ -877,7 +883,8 @@ qemuBuildTLSx509CommandLine(virCommandPtr cmd, bool verifypeer, const char *certEncSecretAlias, const char *alias, - virQEMUCapsPtr qemuCaps) + virQEMUCapsPtr qemuCaps, + unsigned int flags) { g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; g_autoptr(virJSONValue) props =3D NULL; @@ -886,7 +893,8 @@ qemuBuildTLSx509CommandLine(virCommandPtr cmd, certEncSecretAlias, qemuCaps, &props)= < 0) return -1; - if (virQEMUBuildObjectCommandlineFromJSON(&buf, props) < 0) + if (virQEMUBuildObjectCommandlineFromJSON(&buf, props, + (flags & QEMU_BUILD_COMMANDL= INE_VALIDATE_KEEP_JSON)) < 0) return -1; virCommandAddArg(cmd, "-object"); @@ -1976,14 +1984,16 @@ qemuBuildFloppyCommandLineControllerOptions(virComm= andPtr cmd, static int qemuBuildObjectCommandline(virCommandPtr cmd, - virJSONValuePtr objProps) + virJSONValuePtr objProps, + unsigned int flags) { g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; if (!objProps) return 0; - if (virQEMUBuildObjectCommandlineFromJSON(&buf, objProps) < 0) + if (virQEMUBuildObjectCommandlineFromJSON(&buf, objProps, + (flags & QEMU_BUILD_COMMANDL= INE_VALIDATE_KEEP_JSON)) < 0) return -1; virCommandAddArg(cmd, "-object"); @@ -1995,16 +2005,17 @@ qemuBuildObjectCommandline(virCommandPtr cmd, static int qemuBuildBlockStorageSourceAttachDataCommandline(virCommandPtr cmd, - qemuBlockStorageSourceAtt= achDataPtr data) + qemuBlockStorageSourceAtt= achDataPtr data, + unsigned int flags) { char *tmp; - if (qemuBuildObjectCommandline(cmd, data->prmgrProps) < 0 || - qemuBuildObjectCommandline(cmd, data->authsecretProps) < 0 || - qemuBuildObjectCommandline(cmd, data->encryptsecretProps) < 0 || - qemuBuildObjectCommandline(cmd, data->httpcookiesecretProps) < 0 || - qemuBuildObjectCommandline(cmd, data->tlsKeySecretProps) < 0 || - qemuBuildObjectCommandline(cmd, data->tlsProps) < 0) + if (qemuBuildObjectCommandline(cmd, data->prmgrProps, flags) < 0 || + qemuBuildObjectCommandline(cmd, data->authsecretProps, flags) < 0 = || + qemuBuildObjectCommandline(cmd, data->encryptsecretProps, flags) <= 0 || + qemuBuildObjectCommandline(cmd, data->httpcookiesecretProps, flags= ) < 0 || + qemuBuildObjectCommandline(cmd, data->tlsKeySecretProps, flags) < = 0 || + qemuBuildObjectCommandline(cmd, data->tlsProps, flags) < 0) return -1; if (data->driveCmd) @@ -2044,7 +2055,8 @@ qemuBuildBlockStorageSourceAttachDataCommandline(virC= ommandPtr cmd, static int qemuBuildDiskSourceCommandLine(virCommandPtr cmd, virDomainDiskDefPtr disk, - virQEMUCapsPtr qemuCaps) + virQEMUCapsPtr qemuCaps, + unsigned int flags) { g_autoptr(qemuBlockStorageSourceChainData) data =3D NULL; g_autoptr(virJSONValue) copyOnReadProps =3D NULL; @@ -2073,7 +2085,8 @@ qemuBuildDiskSourceCommandLine(virCommandPtr cmd, for (i =3D data->nsrcdata; i > 0; i--) { if (qemuBuildBlockStorageSourceAttachDataCommandline(cmd, - data->srcdata= [i - 1]) < 0) + data->srcdata= [i - 1], + flags) < 0) return -1; } @@ -2093,11 +2106,12 @@ qemuBuildDiskCommandLine(virCommandPtr cmd, const virDomainDef *def, virDomainDiskDefPtr disk, virQEMUCapsPtr qemuCaps, - unsigned int bootindex) + unsigned int bootindex, + unsigned int flags) { g_autofree char *optstr =3D NULL; - if (qemuBuildDiskSourceCommandLine(cmd, disk, qemuCaps) < 0) + if (qemuBuildDiskSourceCommandLine(cmd, disk, qemuCaps, flags) < 0) return -1; /* SD cards are currently instantiated via -drive if=3Dsd, so the -dev= ice @@ -2128,7 +2142,8 @@ qemuBuildDiskCommandLine(virCommandPtr cmd, static int qemuBuildDisksCommandLine(virCommandPtr cmd, const virDomainDef *def, - virQEMUCapsPtr qemuCaps) + virQEMUCapsPtr qemuCaps, + unsigned int flags) { size_t i; unsigned int bootCD =3D 0; @@ -2181,7 +2196,7 @@ qemuBuildDisksCommandLine(virCommandPtr cmd, if (disk->device =3D=3D VIR_DOMAIN_DISK_DEVICE_FLOPPY) bootindex =3D 0; - if (qemuBuildDiskCommandLine(cmd, def, disk, qemuCaps, bootindex) = < 0) + if (qemuBuildDiskCommandLine(cmd, def, disk, qemuCaps, bootindex, = flags) < 0) return -1; } @@ -3282,7 +3297,8 @@ qemuBuildMemoryCellBackendStr(virDomainDefPtr def, virQEMUDriverConfigPtr cfg, size_t cell, qemuDomainObjPrivatePtr priv, - virBufferPtr buf) + virBufferPtr buf, + unsigned int flags) { g_autoptr(virJSONValue) props =3D NULL; g_autofree char *alias =3D NULL; @@ -3301,7 +3317,8 @@ qemuBuildMemoryCellBackendStr(virDomainDefPtr def, priv, def, &mem, false, false)) = < 0) return -1; - if (virQEMUBuildObjectCommandlineFromJSON(buf, props) < 0) + if (virQEMUBuildObjectCommandlineFromJSON(buf, props, + (flags & QEMU_BUILD_COMMANDL= INE_VALIDATE_KEEP_JSON)) < 0) return -1; return rc; @@ -3313,7 +3330,8 @@ qemuBuildMemoryDimmBackendStr(virBufferPtr buf, virDomainMemoryDefPtr mem, virDomainDefPtr def, virQEMUDriverConfigPtr cfg, - qemuDomainObjPrivatePtr priv) + qemuDomainObjPrivatePtr priv, + unsigned int flags) { g_autoptr(virJSONValue) props =3D NULL; g_autofree char *alias =3D NULL; @@ -3330,7 +3348,8 @@ qemuBuildMemoryDimmBackendStr(virBufferPtr buf, priv, def, mem, true, false) < 0) return -1; - if (virQEMUBuildObjectCommandlineFromJSON(buf, props) < 0) + if (virQEMUBuildObjectCommandlineFromJSON(buf, props, + (flags & QEMU_BUILD_COMMANDL= INE_VALIDATE_KEEP_JSON)) < 0) return -1; return 0; @@ -4829,7 +4848,8 @@ qemuBuildChrChardevStr(virLogManagerPtr logManager, const virDomainChrSourceDef *dev, const char *alias, virQEMUCapsPtr qemuCaps, - unsigned int cdevflags) + unsigned int cdevflags, + unsigned int flags) { qemuDomainChrSourcePrivatePtr chrSourcePriv =3D QEMU_DOMAIN_CHR_SOURCE= _PRIVATE(dev); g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; @@ -4927,7 +4947,7 @@ qemuBuildChrChardevStr(virLogManagerPtr logManager, * functions can just check the config fields */ if (chrSourcePriv && chrSourcePriv->secinfo) { if (qemuBuildObjectSecretCommandLine(cmd, - chrSourcePriv->secinf= o) < 0) + chrSourcePriv->secinf= o, flags) < 0) return NULL; tlsCertEncSecAlias =3D chrSourcePriv->secinfo->s.aes.alias; @@ -4940,7 +4960,7 @@ qemuBuildChrChardevStr(virLogManagerPtr logManager, dev->data.tcp.listen, cfg->chardevTLSx509verify, tlsCertEncSecAlias, - objalias, qemuCaps) < 0) { + objalias, qemuCaps, flags) < 0= ) { return NULL; } @@ -5156,7 +5176,8 @@ static int qemuBuildHostdevSCSICommandLine(virCommandPtr cmd, const virDomainDef *def, virDomainHostdevDefPtr hostdev, - virQEMUCapsPtr qemuCaps) + virQEMUCapsPtr qemuCaps, + unsigned int flags) { g_autoptr(qemuBlockStorageSourceAttachData) data =3D NULL; g_autofree char *devstr =3D NULL; @@ -5165,7 +5186,7 @@ qemuBuildHostdevSCSICommandLine(virCommandPtr cmd, if (!(data =3D qemuBuildHostdevSCSIAttachPrepare(hostdev, &backendAlia= s, qemuCaps))) return -1; - if (qemuBuildBlockStorageSourceAttachDataCommandline(cmd, data) < 0) + if (qemuBuildBlockStorageSourceAttachDataCommandline(cmd, data, flags)= < 0) return -1; virCommandAddArg(cmd, "-device"); @@ -5181,7 +5202,8 @@ static int qemuBuildHostdevCommandLine(virCommandPtr cmd, const virDomainDef *def, virQEMUCapsPtr qemuCaps, - unsigned int *bootHostdevNet) + unsigned int *bootHostdevNet, + unsigned int flags) { size_t i; @@ -5235,7 +5257,7 @@ qemuBuildHostdevCommandLine(virCommandPtr cmd, /* SCSI */ case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI: - if (qemuBuildHostdevSCSICommandLine(cmd, def, hostdev, qemuCap= s) < 0) + if (qemuBuildHostdevSCSICommandLine(cmd, def, hostdev, qemuCap= s, flags) < 0) return -1; break; @@ -5301,7 +5323,8 @@ qemuBuildMonitorCommandLine(virLogManagerPtr logManag= er, virCommandPtr cmd, virQEMUDriverConfigPtr cfg, virDomainDefPtr def, - qemuDomainObjPrivatePtr priv) + qemuDomainObjPrivatePtr priv, + unsigned int flags) { g_autofree char *chrdev =3D NULL; unsigned int cdevflags =3D QEMU_BUILD_CHARDEV_TCP_NOWAIT | @@ -5315,7 +5338,7 @@ qemuBuildMonitorCommandLine(virLogManagerPtr logManag= er, if (!(chrdev =3D qemuBuildChrChardevStr(logManager, secManager, cmd, cfg, def, priv->monConfig, "monitor", - priv->qemuCaps, cdevflags))) + priv->qemuCaps, cdevflags, flags= ))) return -1; virCommandAddArg(cmd, "-chardev"); virCommandAddArg(cmd, chrdev); @@ -5423,7 +5446,8 @@ qemuBuildRNGBackendChrdevStr(virLogManagerPtr logMana= ger, virDomainRNGDefPtr rng, virQEMUCapsPtr qemuCaps, char **chr, - bool chardevStdioLogd) + bool chardevStdioLogd, + unsigned int flags) { unsigned int cdevflags =3D QEMU_BUILD_CHARDEV_TCP_NOWAIT | QEMU_BUILD_CHARDEV_UNIX_FD_PASS; @@ -5445,7 +5469,7 @@ qemuBuildRNGBackendChrdevStr(virLogManagerPtr logMana= ger, cmd, cfg, def, rng->source.chardev, rng->info.alias, qemuCaps, - cdevflags))) + cdevflags, flags))) return -1; break; } @@ -5541,7 +5565,8 @@ qemuBuildRNGCommandLine(virLogManagerPtr logManager, virQEMUDriverConfigPtr cfg, const virDomainDef *def, virQEMUCapsPtr qemuCaps, - bool chardevStdioLogd) + bool chardevStdioLogd, + unsigned int flags) { size_t i; @@ -5562,7 +5587,7 @@ qemuBuildRNGCommandLine(virLogManagerPtr logManager, /* possibly add character device for backend */ if (qemuBuildRNGBackendChrdevStr(logManager, secManager, cmd, cfg,= def, rng, qemuCaps, &chardev, - chardevStdioLogd) < 0) + chardevStdioLogd, flags) < 0) return -1; if (chardev) @@ -5571,7 +5596,8 @@ qemuBuildRNGCommandLine(virLogManagerPtr logManager, if (qemuBuildRNGBackendProps(rng, &props) < 0) return -1; - rc =3D virQEMUBuildObjectCommandlineFromJSON(&buf, props); + rc =3D virQEMUBuildObjectCommandlineFromJSON(&buf, props, + (flags & QEMU_BUILD_COM= MANDLINE_VALIDATE_KEEP_JSON)); if (rc < 0) return -1; @@ -7133,7 +7159,8 @@ static int qemuBuildMemCommandLineMemoryDefaultBackend(virCommandPtr cmd, const virDomainDef *def, qemuDomainObjPrivatePtr priv, - const char *defaultRAMid) + const char *defaultRAMid, + unsigned int flags) { g_autoptr(virQEMUDriverConfig) cfg =3D virQEMUDriverGetConfig(priv->dr= iver); g_autoptr(virJSONValue) props =3D NULL; @@ -7148,7 +7175,8 @@ qemuBuildMemCommandLineMemoryDefaultBackend(virComman= dPtr cmd, priv, def, &mem, false, true) < 0) return -1; - if (virQEMUBuildObjectCommandlineFromJSON(&buf, props) < 0) + if (virQEMUBuildObjectCommandlineFromJSON(&buf, props, + (flags & QEMU_BUILD_COMMANDL= INE_VALIDATE_KEEP_JSON)) < 0) return -1; virCommandAddArg(cmd, "-object"); @@ -7161,7 +7189,8 @@ static int qemuBuildMemCommandLine(virCommandPtr cmd, const virDomainDef *def, virQEMUCapsPtr qemuCaps, - qemuDomainObjPrivatePtr priv) + qemuDomainObjPrivatePtr priv, + unsigned int flags) { const char *defaultRAMid =3D NULL; @@ -7190,7 +7219,7 @@ qemuBuildMemCommandLine(virCommandPtr cmd, * However, if domain has one or more NUMA nodes then there is no * default RAM and we mustn't generate the memory object. */ if (!virDomainNumaGetNodeCount(def->numa)) - qemuBuildMemCommandLineMemoryDefaultBackend(cmd, def, priv, de= faultRAMid); + qemuBuildMemCommandLineMemoryDefaultBackend(cmd, def, priv, de= faultRAMid, flags); } else { if (def->mem.allocation =3D=3D VIR_DOMAIN_MEMORY_ALLOCATION_IMMEDI= ATE) { virCommandAddArgList(cmd, "-mem-prealloc", NULL); @@ -7221,7 +7250,8 @@ qemuBuildMemCommandLine(virCommandPtr cmd, static int qemuBuildIOThreadCommandLine(virCommandPtr cmd, - const virDomainDef *def) + const virDomainDef *def, + unsigned int flags) { size_t i; @@ -7236,7 +7266,8 @@ qemuBuildIOThreadCommandLine(virCommandPtr cmd, if (qemuMonitorCreateObjectProps(&props, "iothread", alias, NULL) = < 0) return -1; - if (virQEMUBuildObjectCommandlineFromJSON(&buf, props) < 0) + if (virQEMUBuildObjectCommandlineFromJSON(&buf, props, + (flags & QEMU_BUILD_COMM= ANDLINE_VALIDATE_KEEP_JSON)) < 0) return -1; virCommandAddArg(cmd, "-object"); @@ -7379,7 +7410,8 @@ static int qemuBuildNumaCommandLine(virQEMUDriverConfigPtr cfg, virDomainDefPtr def, virCommandPtr cmd, - qemuDomainObjPrivatePtr priv) + qemuDomainObjPrivatePtr priv, + unsigned int flags) { size_t i, j; virQEMUCapsPtr qemuCaps =3D priv->qemuCaps; @@ -7416,7 +7448,7 @@ qemuBuildNumaCommandLine(virQEMUDriverConfigPtr cfg, for (i =3D 0; i < ncells; i++) { if ((rc =3D qemuBuildMemoryCellBackendStr(def, cfg, i, priv, - &nodeBackends[i])) < 0) + &nodeBackends[i], flag= s)) < 0) goto cleanup; if (rc =3D=3D 0) @@ -7530,7 +7562,8 @@ static int qemuBuildMemoryDeviceCommandLine(virCommandPtr cmd, virQEMUDriverConfigPtr cfg, virDomainDefPtr def, - qemuDomainObjPrivatePtr priv) + qemuDomainObjPrivatePtr priv, + unsigned int flags) { size_t i; @@ -7540,7 +7573,7 @@ qemuBuildMemoryDeviceCommandLine(virCommandPtr cmd, g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; char *dimmStr; - if (qemuBuildMemoryDimmBackendStr(&buf, def->mems[i], def, cfg, pr= iv) < 0) + if (qemuBuildMemoryDimmBackendStr(&buf, def->mems[i], def, cfg, pr= iv, flags) < 0) return -1; virCommandAddArg(cmd, "-object"); @@ -7597,7 +7630,8 @@ static int qemuBuildGraphicsVNCCommandLine(virQEMUDriverConfigPtr cfg, virCommandPtr cmd, virQEMUCapsPtr qemuCaps, - virDomainGraphicsDefPtr graphics) + virDomainGraphicsDefPtr graphics, + unsigned int flags) { g_auto(virBuffer) opt =3D VIR_BUFFER_INITIALIZER; virDomainGraphicsListenDefPtr glisten =3D NULL; @@ -7670,7 +7704,7 @@ qemuBuildGraphicsVNCCommandLine(virQEMUDriverConfigPt= r cfg, if (gfxPriv->secinfo) { if (qemuBuildObjectSecretCommandLine(cmd, - gfxPriv->secinfo) < 0) + gfxPriv->secinfo, fla= gs) < 0) return -1; secretAlias =3D gfxPriv->secinfo->s.aes.alias; } @@ -7681,7 +7715,8 @@ qemuBuildGraphicsVNCCommandLine(virQEMUDriverConfigPt= r cfg, cfg->vncTLSx509verify, secretAlias, gfxPriv->tlsAlias, - qemuCaps) < 0) + qemuCaps, + flags) < 0) return -1; virBufferAsprintf(&opt, ",tls-creds=3D%s", gfxPriv->tlsAlias); @@ -7965,7 +8000,8 @@ static int qemuBuildGraphicsCommandLine(virQEMUDriverConfigPtr cfg, virCommandPtr cmd, virDomainDefPtr def, - virQEMUCapsPtr qemuCaps) + virQEMUCapsPtr qemuCaps, + unsigned int flags) { size_t i; @@ -7981,7 +8017,7 @@ qemuBuildGraphicsCommandLine(virQEMUDriverConfigPtr c= fg, break; case VIR_DOMAIN_GRAPHICS_TYPE_VNC: if (qemuBuildGraphicsVNCCommandLine(cfg, cmd, - qemuCaps, graphics) < 0) + qemuCaps, graphics, flags)= < 0) return -1; break; @@ -8018,7 +8054,8 @@ qemuInterfaceVhostuserConnect(virQEMUDriverPtr driver, virDomainDefPtr def, virDomainNetDefPtr net, virQEMUCapsPtr qemuCaps, - char **chardev) + char **chardev, + unsigned int flags) { g_autoptr(virQEMUDriverConfig) cfg =3D virQEMUDriverGetConfig(driver); @@ -8027,7 +8064,7 @@ qemuInterfaceVhostuserConnect(virQEMUDriverPtr driver, if (!(*chardev =3D qemuBuildChrChardevStr(logManager, secManager, cmd, cfg, def, net->data.vhostuser, - net->info.alias, qemuCaps,= 0))) + net->info.alias, qemuCaps,= 0, flags))) return -1; break; @@ -8155,7 +8192,7 @@ qemuBuildInterfaceCommandLine(virQEMUDriverPtr driver, requireNicdev =3D true; if (qemuInterfaceVhostuserConnect(driver, logManager, secManager, - cmd, def, net, qemuCaps, &charde= v) < 0) + cmd, def, net, qemuCaps, &charde= v, flags) < 0) goto cleanup; if (virNetDevOpenvswitchGetVhostuserIfname(net->data.vhostuser->da= ta.nix.path, @@ -8484,7 +8521,8 @@ qemuBuildSmartcardCommandLine(virLogManagerPtr logMan= ager, virQEMUDriverConfigPtr cfg, const virDomainDef *def, virQEMUCapsPtr qemuCaps, - bool chardevStdioLogd) + bool chardevStdioLogd, + unsigned int flags) { size_t i; virDomainSmartcardDefPtr smartcard; @@ -8539,7 +8577,7 @@ qemuBuildSmartcardCommandLine(virLogManagerPtr logMan= ager, cmd, cfg, def, smartcard->data.passthru, smartcard->info.alias, - qemuCaps, cdevflags))) { + qemuCaps, cdevflags, flags))= ) { return -1; } virCommandAddArg(cmd, "-chardev"); @@ -8674,7 +8712,8 @@ qemuBuildShmemCommandLine(virLogManagerPtr logManager, virDomainDefPtr def, virDomainShmemDefPtr shmem, virQEMUCapsPtr qemuCaps, - bool chardevStdioLogd) + bool chardevStdioLogd, + unsigned int flags) { g_autoptr(virJSONValue) memProps =3D NULL; g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; @@ -8721,7 +8760,8 @@ qemuBuildShmemCommandLine(virLogManagerPtr logManager, if (!(memProps =3D qemuBuildShmemBackendMemProps(shmem))) return -1; - rc =3D virQEMUBuildObjectCommandlineFromJSON(&buf, memProps); + rc =3D virQEMUBuildObjectCommandlineFromJSON(&buf, memProps, + (flags & QEMU_BUILD_COM= MANDLINE_VALIDATE_KEEP_JSON)); if (rc < 0) return -1; @@ -8751,7 +8791,7 @@ qemuBuildShmemCommandLine(virLogManagerPtr logManager, cmd, cfg, def, &shmem->server.chr, shmem->info.alias, qemuCaps, - cdevflags); + cdevflags, flags); if (!chardev) return -1; @@ -8851,7 +8891,8 @@ qemuBuildSerialCommandLine(virLogManagerPtr logManage= r, virQEMUDriverConfigPtr cfg, const virDomainDef *def, virQEMUCapsPtr qemuCaps, - bool chardevStdioLogd) + bool chardevStdioLogd, + unsigned int flags) { size_t i; bool havespice =3D false; @@ -8878,7 +8919,7 @@ qemuBuildSerialCommandLine(virLogManagerPtr logManage= r, cmd, cfg, def, serial->source, serial->info.alias, - qemuCaps, cdevflags))) + qemuCaps, cdevflags, flags))) return -1; virCommandAddArg(cmd, "-chardev"); virCommandAddArg(cmd, devstr); @@ -8915,7 +8956,8 @@ qemuBuildParallelsCommandLine(virLogManagerPtr logMan= ager, virQEMUDriverConfigPtr cfg, const virDomainDef *def, virQEMUCapsPtr qemuCaps, - bool chardevStdioLogd) + bool chardevStdioLogd, + unsigned int flags) { size_t i; unsigned int cdevflags =3D QEMU_BUILD_CHARDEV_TCP_NOWAIT | @@ -8931,7 +8973,7 @@ qemuBuildParallelsCommandLine(virLogManagerPtr logMan= ager, cmd, cfg, def, parallel->source, parallel->info.alias, - qemuCaps, cdevflags))) + qemuCaps, cdevflags, flags))) return -1; virCommandAddArg(cmd, "-chardev"); virCommandAddArg(cmd, devstr); @@ -8971,7 +9013,7 @@ qemuBuildChannelsCommandLine(virLogManagerPtr logMana= ger, cmd, cfg, def, channel->source, channel->info.alias, - qemuCaps, cdevflags))) + qemuCaps, cdevflags, fla= gs))) return -1; virCommandAddArg(cmd, "-chardev"); @@ -9012,7 +9054,8 @@ qemuBuildConsoleCommandLine(virLogManagerPtr logManag= er, virQEMUDriverConfigPtr cfg, const virDomainDef *def, virQEMUCapsPtr qemuCaps, - bool chardevStdioLogd) + bool chardevStdioLogd, + unsigned int flags) { size_t i; unsigned int cdevflags =3D QEMU_BUILD_CHARDEV_TCP_NOWAIT | @@ -9031,7 +9074,7 @@ qemuBuildConsoleCommandLine(virLogManagerPtr logManag= er, cmd, cfg, def, console->source, console->info.alias, - qemuCaps, cdevflags))) + qemuCaps, cdevflags, fla= gs))) return -1; virCommandAddArg(cmd, "-chardev"); virCommandAddArg(cmd, devstr); @@ -9046,7 +9089,7 @@ qemuBuildConsoleCommandLine(virLogManagerPtr logManag= er, cmd, cfg, def, console->source, console->info.alias, - qemuCaps, cdevflags))) + qemuCaps, cdevflags, fla= gs))) return -1; virCommandAddArg(cmd, "-chardev"); virCommandAddArg(cmd, devstr); @@ -9061,7 +9104,7 @@ qemuBuildConsoleCommandLine(virLogManagerPtr logManag= er, cmd, cfg, def, console->source, console->info.alias, - qemuCaps, cdevflags))) + qemuCaps, cdevflags, fla= gs))) return -1; virCommandAddArg(cmd, "-chardev"); virCommandAddArg(cmd, devstr); @@ -9143,7 +9186,8 @@ qemuBuildRedirdevCommandLine(virLogManagerPtr logMana= ger, virQEMUDriverConfigPtr cfg, const virDomainDef *def, virQEMUCapsPtr qemuCaps, - bool chardevStdioLogd) + bool chardevStdioLogd, + unsigned int flags) { size_t i; unsigned int cdevflags =3D QEMU_BUILD_CHARDEV_TCP_NOWAIT | @@ -9159,7 +9203,7 @@ qemuBuildRedirdevCommandLine(virLogManagerPtr logMana= ger, cmd, cfg, def, redirdev->source, redirdev->info.alias, - qemuCaps, cdevflags))) { + qemuCaps, cdevflags, flags))= ) { return -1; } @@ -9445,8 +9489,10 @@ qemuBuildTPMsCommandLine(virCommandPtr cmd, static int -qemuBuildSEVCommandLine(virDomainObjPtr vm, virCommandPtr cmd, - virDomainSEVDefPtr sev) +qemuBuildSEVCommandLine(virDomainObjPtr vm, + virCommandPtr cmd, + virDomainSEVDefPtr sev, + unsigned int flags) { g_autoptr(virJSONValue) props =3D NULL; g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; @@ -9475,7 +9521,8 @@ qemuBuildSEVCommandLine(virDomainObjPtr vm, virComman= dPtr cmd, NULL) < 0) return -1; - if (virQEMUBuildObjectCommandlineFromJSON(&buf, props) < 0) + if (virQEMUBuildObjectCommandlineFromJSON(&buf, props, + (flags & QEMU_BUILD_COMMANDL= INE_VALIDATE_KEEP_JSON)) < 0) return -1; virCommandAddArg(cmd, "-object"); @@ -9582,7 +9629,8 @@ qemuBuildPRManagerInfoProps(virStorageSourcePtr src) static int qemuBuildManagedPRCommandLine(virCommandPtr cmd, const virDomainDef *def, - qemuDomainObjPrivatePtr priv) + qemuDomainObjPrivatePtr priv, + unsigned int flags) { g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; g_autoptr(virJSONValue) props =3D NULL; @@ -9593,7 +9641,8 @@ qemuBuildManagedPRCommandLine(virCommandPtr cmd, if (!(props =3D qemuBuildPRManagedManagerInfoProps(priv))) return -1; - if (virQEMUBuildObjectCommandlineFromJSON(&buf, props) < 0) + if (virQEMUBuildObjectCommandlineFromJSON(&buf, props, + (flags & QEMU_BUILD_COMMANDL= INE_VALIDATE_KEEP_JSON)) < 0) return -1; virCommandAddArg(cmd, "-object"); @@ -9606,7 +9655,8 @@ qemuBuildManagedPRCommandLine(virCommandPtr cmd, static int qemuBuildPflashBlockdevOne(virCommandPtr cmd, virStorageSourcePtr src, - virQEMUCapsPtr qemuCaps) + virQEMUCapsPtr qemuCaps, + unsigned int flags) { g_autoptr(qemuBlockStorageSourceChainData) data =3D NULL; size_t i; @@ -9617,7 +9667,8 @@ qemuBuildPflashBlockdevOne(virCommandPtr cmd, for (i =3D data->nsrcdata; i > 0; i--) { if (qemuBuildBlockStorageSourceAttachDataCommandline(cmd, - data->srcdata= [i - 1]) < 0) + data->srcdata= [i - 1], + flags) < 0) return -1; } @@ -9627,17 +9678,18 @@ qemuBuildPflashBlockdevOne(virCommandPtr cmd, static int qemuBuildPflashBlockdevCommandLine(virCommandPtr cmd, - qemuDomainObjPrivatePtr priv) + qemuDomainObjPrivatePtr priv, + unsigned int flags) { if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) return 0; if (priv->pflash0 && - qemuBuildPflashBlockdevOne(cmd, priv->pflash0, priv->qemuCaps) < 0) + qemuBuildPflashBlockdevOne(cmd, priv->pflash0, priv->qemuCaps, fla= gs) < 0) return -1; if (priv->pflash1 && - qemuBuildPflashBlockdevOne(cmd, priv->pflash1, priv->qemuCaps) < 0) + qemuBuildPflashBlockdevOne(cmd, priv->pflash1, priv->qemuCaps, fla= gs) < 0) return -1; return 0; @@ -9665,7 +9717,8 @@ qemuBuildDBusVMStateInfoProps(virQEMUDriverPtr driver, static int qemuBuildDBusVMStateCommandLine(virCommandPtr cmd, virQEMUDriverPtr driver, - virDomainObjPtr vm) + virDomainObjPtr vm, + unsigned int flags) { g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; g_autoptr(virJSONValue) props =3D NULL; @@ -9682,7 +9735,8 @@ qemuBuildDBusVMStateCommandLine(virCommandPtr cmd, if (!(props =3D qemuBuildDBusVMStateInfoProps(driver, vm))) return -1; - if (virQEMUBuildObjectCommandlineFromJSON(&buf, props) < 0) + if (virQEMUBuildObjectCommandlineFromJSON(&buf, props, + (flags & QEMU_BUILD_COMMANDL= INE_VALIDATE_KEEP_JSON)) < 0) return -1; virCommandAddArg(cmd, "-object"); @@ -9926,16 +9980,16 @@ qemuBuildCommandLine(virQEMUDriverPtr driver, if (!standalone) virCommandAddArg(cmd, "-S"); /* freeze CPU */ - if (qemuBuildMasterKeyCommandLine(cmd, priv) < 0) + if (qemuBuildMasterKeyCommandLine(cmd, priv, flags) < 0) return NULL; - if (qemuBuildDBusVMStateCommandLine(cmd, driver, vm) < 0) + if (qemuBuildDBusVMStateCommandLine(cmd, driver, vm, flags) < 0) return NULL; - if (qemuBuildManagedPRCommandLine(cmd, def, priv) < 0) + if (qemuBuildManagedPRCommandLine(cmd, def, priv, flags) < 0) return NULL; - if (qemuBuildPflashBlockdevCommandLine(cmd, priv) < 0) + if (qemuBuildPflashBlockdevCommandLine(cmd, priv, flags) < 0) return NULL; if (enableFips) @@ -9951,20 +10005,20 @@ qemuBuildCommandLine(virQEMUDriverPtr driver, qemuBuildDomainLoaderCommandLine(cmd, def, qemuCaps); - if (qemuBuildMemCommandLine(cmd, def, qemuCaps, priv) < 0) + if (qemuBuildMemCommandLine(cmd, def, qemuCaps, priv, flags) < 0) return NULL; if (qemuBuildSmpCommandLine(cmd, def, qemuCaps) < 0) return NULL; - if (qemuBuildIOThreadCommandLine(cmd, def) < 0) + if (qemuBuildIOThreadCommandLine(cmd, def, flags) < 0) return NULL; if (virDomainNumaGetNodeCount(def->numa) && - qemuBuildNumaCommandLine(cfg, def, cmd, priv) < 0) + qemuBuildNumaCommandLine(cfg, def, cmd, priv, flags) < 0) return NULL; - if (qemuBuildMemoryDeviceCommandLine(cmd, cfg, def, priv) < 0) + if (qemuBuildMemoryDeviceCommandLine(cmd, cfg, def, priv, flags) < 0) return NULL; virUUIDFormat(def->uuid, uuid); @@ -10003,7 +10057,7 @@ qemuBuildCommandLine(virQEMUDriverPtr driver, if (qemuBuildSgaCommandLine(cmd, def) < 0) return NULL; - if (qemuBuildMonitorCommandLine(logManager, secManager, cmd, cfg, def,= priv) < 0) + if (qemuBuildMonitorCommandLine(logManager, secManager, cmd, cfg, def,= priv, flags) < 0) return NULL; if (qemuBuildClockCommandLine(cmd, def, qemuCaps) < 0) @@ -10031,7 +10085,7 @@ qemuBuildCommandLine(virQEMUDriverPtr driver, VIR_DOMAIN_CONTROLLER_TYPE_C= CID) < 0) return NULL; - if (qemuBuildDisksCommandLine(cmd, def, qemuCaps) < 0) + if (qemuBuildDisksCommandLine(cmd, def, qemuCaps, flags) < 0) return NULL; if (qemuBuildFilesystemCommandLine(cmd, def, qemuCaps, priv) < 0) @@ -10043,15 +10097,15 @@ qemuBuildCommandLine(virQEMUDriverPtr driver, return NULL; if (qemuBuildSmartcardCommandLine(logManager, secManager, cmd, cfg, de= f, qemuCaps, - chardevStdioLogd) < 0) + chardevStdioLogd, flags) < 0) return NULL; if (qemuBuildSerialCommandLine(logManager, secManager, cmd, cfg, def, = qemuCaps, - chardevStdioLogd) < 0) + chardevStdioLogd, flags) < 0) return NULL; if (qemuBuildParallelsCommandLine(logManager, secManager, cmd, cfg, de= f, qemuCaps, - chardevStdioLogd) < 0) + chardevStdioLogd, flags) < 0) return NULL; if (qemuBuildChannelsCommandLine(logManager, secManager, cmd, cfg, def= , qemuCaps, @@ -10059,7 +10113,7 @@ qemuBuildCommandLine(virQEMUDriverPtr driver, return NULL; if (qemuBuildConsoleCommandLine(logManager, secManager, cmd, cfg, def,= qemuCaps, - chardevStdioLogd) < 0) + chardevStdioLogd, flags) < 0) return NULL; if (qemuBuildTPMsCommandLine(cmd, def, qemuCaps) < 0) @@ -10068,7 +10122,7 @@ qemuBuildCommandLine(virQEMUDriverPtr driver, if (qemuBuildInputCommandLine(cmd, def, qemuCaps) < 0) return NULL; - if (qemuBuildGraphicsCommandLine(cfg, cmd, def, qemuCaps) < 0) + if (qemuBuildGraphicsCommandLine(cfg, cmd, def, qemuCaps, flags) < 0) return NULL; if (qemuBuildVideoCommandLine(cmd, def, qemuCaps) < 0) @@ -10081,10 +10135,10 @@ qemuBuildCommandLine(virQEMUDriverPtr driver, return NULL; if (qemuBuildRedirdevCommandLine(logManager, secManager, cmd, cfg, def= , qemuCaps, - chardevStdioLogd) < 0) + chardevStdioLogd, flags) < 0) return NULL; - if (qemuBuildHostdevCommandLine(cmd, def, qemuCaps, &bootHostdevNet) <= 0) + if (qemuBuildHostdevCommandLine(cmd, def, qemuCaps, &bootHostdevNet, f= lags) < 0) return NULL; if (migrateURI) @@ -10094,7 +10148,7 @@ qemuBuildCommandLine(virQEMUDriverPtr driver, return NULL; if (qemuBuildRNGCommandLine(logManager, secManager, cmd, cfg, def, qem= uCaps, - chardevStdioLogd) < 0) + chardevStdioLogd, flags) < 0) return NULL; if (qemuBuildNVRAMCommandLine(cmd, def) < 0) @@ -10103,7 +10157,7 @@ qemuBuildCommandLine(virQEMUDriverPtr driver, if (qemuBuildVMCoreInfoCommandLine(cmd, def) < 0) return NULL; - if (qemuBuildSEVCommandLine(vm, cmd, def->sev) < 0) + if (qemuBuildSEVCommandLine(vm, cmd, def->sev, flags) < 0) return NULL; if (snapshot) @@ -10129,7 +10183,7 @@ qemuBuildCommandLine(virQEMUDriverPtr driver, for (i =3D 0; i < def->nshmems; i++) { if (qemuBuildShmemCommandLine(logManager, secManager, cmd, cfg, def, def->shmems[i], qemuCaps, - chardevStdioLogd)) + chardevStdioLogd, flags)) return NULL; } diff --git a/src/util/virqemu.c b/src/util/virqemu.c index 57ee42dd16..c420b144e1 100644 --- a/src/util/virqemu.c +++ b/src/util/virqemu.c @@ -329,14 +329,28 @@ virQEMUBuildObjectCommandlineFromJSONInternal(virBuff= erPtr buf, } +/** + * virQEMUBuildObjectCommandlineFromJSON: + * @buf: buffer to format output to + * @objprops: JSON object describing a qemu 'object' + * @rawjson: don't transform to commandline args, just stringify json + * + * Converts @objprops into arguments for -object. + * + * @rawjson is meant for testing of the schema in the xml2argvtest + */ int virQEMUBuildObjectCommandlineFromJSON(virBufferPtr buf, - virJSONValuePtr objprops) + virJSONValuePtr objprops, + bool rawjson) { const char *type =3D virJSONValueObjectGetString(objprops, "qom-type"); const char *alias =3D virJSONValueObjectGetString(objprops, "id"); virJSONValuePtr props =3D virJSONValueObjectGetObject(objprops, "props= "); + if (rawjson) + return virJSONValueToBuffer(objprops, buf, false); + return virQEMUBuildObjectCommandlineFromJSONInternal(buf, type, alias,= props); } diff --git a/src/util/virqemu.h b/src/util/virqemu.h index 849b7df0c2..890c83c628 100644 --- a/src/util/virqemu.h +++ b/src/util/virqemu.h @@ -49,7 +49,8 @@ virQEMUBuildNetdevCommandlineFromJSON(virJSONValuePtr pro= ps, bool rawjson); int virQEMUBuildObjectCommandlineFromJSON(virBufferPtr buf, - virJSONValuePtr objprops); + virJSONValuePtr objprops, + bool rawjson); char *virQEMUBuildDriveCommandlineFromJSON(virJSONValuePtr src); --=20 2.29.2 From nobody Wed May 8 00:22:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1614182343; cv=none; d=zohomail.com; s=zohoarc; b=JTPJ7vKzFnXqdfyxMYIo5DUIkUJLHRmmgvQTQwERCZ4g8rxprvsjblPKUfJQN4Ae/2jhbnFij8anyChbaXFFFIZNIThJAG+Z3e+Qzwc2OMwIaeME/nnELUYtYztgDKce5VP7JTtErCNl3OCFslyQpgvZFeYqoVGxB3A419fa6l8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1614182343; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=7DL3ho8yL8wFbtq3mC6gYm/pns6E0h+ZpHQOE92yiFk=; b=PoHFqBXyGbCkBe0mUYFLm7H8DD67s4IYmY7Gw0O8UXnrRqep89K7NBJsRpnt2fEvamnwsN92cbSIDNLjmJoTdYPxB3KlI28nobTU5/fGZO+oexW9pfeYg5IuR7H1mAS4g8SFuvCt4TlHDGk/RvzxwQDwJ2HEBIgoplNQgPd0wUo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1614182343343329.2478632625945; Wed, 24 Feb 2021 07:59:03 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-65-XsoaHIZ7OyK2UAJwkuvn3Q-1; Wed, 24 Feb 2021 10:58:59 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 4A9E6E4963; Wed, 24 Feb 2021 15:58:47 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2802C60D79; Wed, 24 Feb 2021 15:58:47 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id DCBE158078; Wed, 24 Feb 2021 15:58:46 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 11OFwI90010820 for ; Wed, 24 Feb 2021 10:58:18 -0500 Received: by smtp.corp.redhat.com (Postfix) id A658510023AB; Wed, 24 Feb 2021 15:58:18 +0000 (UTC) Received: from speedmetal.lan (unknown [10.40.208.53]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0A82F100239F for ; Wed, 24 Feb 2021 15:58:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1614182342; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=7DL3ho8yL8wFbtq3mC6gYm/pns6E0h+ZpHQOE92yiFk=; b=MtAhfeiLf0x5+qFMbuU/k7KIAiIKRAhFheF/0SyMwmYMEp89d/LZmXD0I9iuHrGf/uHhI+ ARsE9Qee+GyPV9FP8+euFolJ2gqGfhZr8gpAMTZ6ub10L83DBtmDCi8WswtBkUGMpahDBa yOjfOB8akJnxqGMt2PjaoN/w8U1h4Lw= X-MC-Unique: XsoaHIZ7OyK2UAJwkuvn3Q-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH v2 07/12] qemu: monitor: Make wrapping of 'props' of 'object-add' optional Date: Wed, 24 Feb 2021 16:58:01 +0100 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Construct the JSON object which is used for object-add without the 'props' wrapper and add the wrapper only in the monitor code. This simplifies the JSON->commandline generator in the first place and also prepares for upcoming qemu where 'props' will be removed. Signed-off-by: Peter Krempa --- src/qemu/qemu_monitor.c | 68 +++++++++++++++++++++++++++++------------ src/util/virqemu.c | 42 +++++++++---------------- 2 files changed, 62 insertions(+), 48 deletions(-) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index ed35da17e1..8b88c8f922 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -109,6 +109,9 @@ struct _qemuMonitor { qemuMonitorReportDomainLogError logFunc; void *logOpaque; virFreeCallback logDestroy; + + /* true if qemu no longer wants 'props' sub-object of object-add */ + bool objectAddNoWrap; }; /** @@ -3012,14 +3015,12 @@ qemuMonitorCreateObjectPropsWrap(const char *type, const char *alias, virJSONValuePtr *props) { - virJSONValuePtr ret; - ignore_value(virJSONValueObjectCreate(&ret, - "s:qom-type", type, - "s:id", alias, - "A:props", props, - NULL)); - return ret; + if (virJSONValueObjectPrependString(*props, "id", alias) < 0 || + virJSONValueObjectPrependString(*props, "qom-type", type)) + return NULL; + + return g_steal_pointer(props); } @@ -3039,26 +3040,28 @@ qemuMonitorCreateObjectProps(virJSONValuePtr *props= ret, const char *alias, ...) { - virJSONValuePtr props =3D NULL; - int ret =3D -1; + g_autoptr(virJSONValue) props =3D NULL; + int rc; va_list args; - *propsret =3D NULL; + if (virJSONValueObjectCreate(&props, + "s:qom-type", type, + "s:id", alias, + NULL) < 0) + return -1; + va_start(args, alias); - if (virJSONValueObjectCreateVArgs(&props, args) < 0) - goto cleanup; + rc =3D virJSONValueObjectAddVArgs(props, args); - if (!(*propsret =3D qemuMonitorCreateObjectPropsWrap(type, alias, &pro= ps))) - goto cleanup; + va_end(args); - ret =3D 0; + if (rc < 0) + return -1; - cleanup: - virJSONValueFree(props); - va_end(args); - return ret; + *propsret =3D g_steal_pointer(&props); + return 0; } @@ -3078,6 +3081,7 @@ qemuMonitorAddObject(qemuMonitorPtr mon, virJSONValuePtr *props, char **alias) { + g_autoptr(virJSONValue) pr =3D NULL; const char *type =3D NULL; const char *id =3D NULL; g_autofree char *aliasCopy =3D NULL; @@ -3105,7 +3109,31 @@ qemuMonitorAddObject(qemuMonitorPtr mon, if (alias) aliasCopy =3D g_strdup(id); - if (qemuMonitorJSONAddObject(mon, props) < 0) + if (mon->objectAddNoWrap) { + pr =3D g_steal_pointer(props); + } else { + /* we need to create a wrapper which has the 'qom-type' and 'id' a= nd + * store everything else under a 'props' sub-object */ + g_autoptr(virJSONValue) typeobj =3D NULL; + g_autoptr(virJSONValue) idobj =3D NULL; + + ignore_value(virJSONValueObjectRemoveKey(*props, "qom-type", &type= obj)); + ignore_value(virJSONValueObjectRemoveKey(*props, "id", &idobj)); + + if (!virJSONValueObjectGetKey(*props, 0)) { + virJSONValueFree(*props); + *props =3D NULL; + } + + if (virJSONValueObjectCreate(&pr, + "s:qom-type", type, + "s:id", id, + "A:props", props, + NULL) < 0) + return -1; + } + + if (qemuMonitorJSONAddObject(mon, &pr) < 0) return -1; if (alias) diff --git a/src/util/virqemu.c b/src/util/virqemu.c index c420b144e1..5fe142394c 100644 --- a/src/util/virqemu.c +++ b/src/util/virqemu.c @@ -303,32 +303,6 @@ virQEMUBuildNetdevCommandlineFromJSON(virJSONValuePtr = props, } -static int -virQEMUBuildObjectCommandlineFromJSONInternal(virBufferPtr buf, - const char *type, - const char *alias, - virJSONValuePtr props) -{ - if (!type || !alias) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("missing 'type'(%s) or 'alias'(%s) field of QOM '= object'"), - NULLSTR(type), NULLSTR(alias)); - return -1; - } - - virBufferAsprintf(buf, "%s,id=3D%s", type, alias); - - if (props) { - virBufferAddLit(buf, ","); - if (virQEMUBuildCommandLineJSON(props, buf, NULL, - virQEMUBuildCommandLineJSONArrayBitmap) < = 0) - return -1; - } - - return 0; -} - - /** * virQEMUBuildObjectCommandlineFromJSON: * @buf: buffer to format output to @@ -346,12 +320,24 @@ virQEMUBuildObjectCommandlineFromJSON(virBufferPtr bu= f, { const char *type =3D virJSONValueObjectGetString(objprops, "qom-type"); const char *alias =3D virJSONValueObjectGetString(objprops, "id"); - virJSONValuePtr props =3D virJSONValueObjectGetObject(objprops, "props= "); + + if (!type || !alias) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("missing 'type'(%s) or 'alias'(%s) field of QOM '= object'"), + NULLSTR(type), NULLSTR(alias)); + return -1; + } if (rawjson) return virJSONValueToBuffer(objprops, buf, false); - return virQEMUBuildObjectCommandlineFromJSONInternal(buf, type, alias,= props); + virBufferAsprintf(buf, "%s,", type); + + if (virQEMUBuildCommandLineJSON(objprops, buf, "qom-type", + virQEMUBuildCommandLineJSONArrayBitmap= ) < 0) + return -1; + + return 0; } --=20 2.29.2 From nobody Wed May 8 00:22:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1614182409; cv=none; d=zohomail.com; s=zohoarc; b=JDkAnrFjMjW4NA8Yly7U+jWPVUNN/Tq6ShDDBhkC2z5zqcbWbfTEe92GuS8W9NpXUu1Kp4Mm/NPWbKxrzdrJ1s+bay4hA5pwpsNm9BnBG54PZg0HwYZPleKHXdDqFyEffqIUNXiHsJZV6jWsWdtwjlu6jgFONamU2g7z3jlmOCE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1614182409; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=hddrcK0E5nqHDdNvhtTrh1kNcLEbuKlyKEl+F8MhqM8=; b=hDrbgQUMudS/IBw1HaAAJ/m/ax0COP4+KzgSnVjx2qTCAeFtMVlc7lnTK5vp10MKaarZ7pD1fSvzMjJFnBZluOaApF1nzoEwEIhKsoN8lc6E1kOXCZECkkPFYH0fqbzpq9JA1yMgSJjlI0hhb1TEfuJn0Es/AoJXj9dTgFNCw3E= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1614182409789613.7875083148468; Wed, 24 Feb 2021 08:00:09 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-242-Bydu6PH-NKSWGwugUwhtLw-1; Wed, 24 Feb 2021 10:59:01 -0500 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id E56A8804056; Wed, 24 Feb 2021 15:58:51 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C459760BF3; Wed, 24 Feb 2021 15:58:51 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 8E12358079; Wed, 24 Feb 2021 15:58:51 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 11OFwJvn010847 for ; Wed, 24 Feb 2021 10:58:19 -0500 Received: by smtp.corp.redhat.com (Postfix) id A750F100239A; Wed, 24 Feb 2021 15:58:19 +0000 (UTC) Received: from speedmetal.lan (unknown [10.40.208.53]) by smtp.corp.redhat.com (Postfix) with ESMTP id 12BE0100239F for ; Wed, 24 Feb 2021 15:58:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1614182408; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=hddrcK0E5nqHDdNvhtTrh1kNcLEbuKlyKEl+F8MhqM8=; b=dxAjTx568cJJLXMJIDhxjahSQiZFQ4G1t7xBuvQ+Fhrrc/3pTz8kgock2TfcUMFWYCOc4M LVHH8kra4ZdrdjaJytpQ0TyBjzGANwC0UOByPOepvi9LX4DCKpxzxXgxxjmCChnPKthGtB 5qJv1uBCdhbhxhpR1njyu8Ksyn8O9bM= X-MC-Unique: Bydu6PH-NKSWGwugUwhtLw-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH v2 08/12] qemuMonitorCreateObjectPropsWrap: Open-code in qemuBuildMemoryBackendProps Date: Wed, 24 Feb 2021 16:58:02 +0100 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" There's just one caller left. Since qemuBuildMemoryBackendProps is too complex to be modified for now, just move the adding of 'id' and 'qom' type directly into the function. Signed-off-by: Peter Krempa --- src/qemu/qemu_command.c | 6 ++++-- src/qemu/qemu_monitor.c | 15 --------------- src/qemu/qemu_monitor.h | 4 ---- 3 files changed, 4 insertions(+), 21 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index c4bb6a87bb..31b20a4f12 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3284,10 +3284,12 @@ qemuBuildMemoryBackendProps(virJSONValuePtr *backen= dProps, rc =3D 0; } - if (!(*backendProps =3D qemuMonitorCreateObjectPropsWrap(backendType, = alias, - &props))) + if (virJSONValueObjectPrependString(props, "id", alias) < 0 || + virJSONValueObjectPrependString(props, "qom-type", backendType) < = 0) return -1; + *backendProps =3D g_steal_pointer(&props); + return rc; } diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 8b88c8f922..121c21be5c 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -3010,21 +3010,6 @@ qemuMonitorAddDeviceArgs(qemuMonitorPtr mon, } -virJSONValuePtr -qemuMonitorCreateObjectPropsWrap(const char *type, - const char *alias, - virJSONValuePtr *props) -{ - - if (virJSONValueObjectPrependString(*props, "id", alias) < 0 || - virJSONValueObjectPrependString(*props, "qom-type", type)) - return NULL; - - return g_steal_pointer(props); -} - - - /** * qemuMonitorCreateObjectProps: * @propsret: returns full object properties diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index d25c26343a..c6ffd51ce8 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -1006,10 +1006,6 @@ int qemuMonitorAddDeviceWithFd(qemuMonitorPtr mon, int qemuMonitorDelDevice(qemuMonitorPtr mon, const char *devalias); -virJSONValuePtr qemuMonitorCreateObjectPropsWrap(const char *type, - const char *alias, - virJSONValuePtr *props); - int qemuMonitorCreateObjectProps(virJSONValuePtr *propsret, const char *type, const char *alias, --=20 2.29.2 From nobody Wed May 8 00:22:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1614182358; cv=none; d=zohomail.com; s=zohoarc; b=OCOhgAwJFyoo8NwOEX4/ibntgXToLQauPIgDPktt0mxyr7EtyDkK1alQHdAK9/P6J2U+nMAmAO/uhVnjqnal3WaSs3iFbTtohBoNzkzZ+Q4AfcvjEvasNxm1Vv1HW+D6vz4IJM6JbXItnSw5fWhQzd/r9gN9PQZQEx721T9RVWo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1614182358; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=w4gMlhbjHbNGy73KYBX0LTaSKn0FsaJkVTIb0Z3oByc=; b=LTfKdoqUau4Aq5bYRNO3zLfHpLWJRO9QvilriyExUXbLOiQHrmFROFwDGCUchig8gTNZ/Rbrmg/aFadBAcwwJ/fH8Vh/RkP2fSITcEpptdHkQxbsULt6J1GpQSr6VML+RjFkUuFooQJGCZccfx+fUBikUnvcQkMjaIBOqVqXlfQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1614182358908549.2994418740379; Wed, 24 Feb 2021 07:59:18 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-314-qtrCyX0DMhC8-5EFLNZCqQ-1; Wed, 24 Feb 2021 10:59:00 -0500 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id A8E9389E287; Wed, 24 Feb 2021 15:58:25 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 76EF260C5F; Wed, 24 Feb 2021 15:58:25 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 03B1F18095CD; Wed, 24 Feb 2021 15:58:25 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 11OFwKEn010882 for ; Wed, 24 Feb 2021 10:58:20 -0500 Received: by smtp.corp.redhat.com (Postfix) id AD7E01001E73; Wed, 24 Feb 2021 15:58:20 +0000 (UTC) Received: from speedmetal.lan (unknown [10.40.208.53]) by smtp.corp.redhat.com (Postfix) with ESMTP id 17A8210016F9 for ; Wed, 24 Feb 2021 15:58:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1614182357; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=w4gMlhbjHbNGy73KYBX0LTaSKn0FsaJkVTIb0Z3oByc=; b=P2l3Znkf+a6li5FGFyVBb02V3t1+EOBMtK3s5qVE/GzZmN0RkFODni9OPNYmUDE1PfeQAj 4GRhBn/BSoIIZUAt//IWn0KYY2m/SyzWjf62GRwpVjh99c3+QVPZVH76PBLi4UqRvDp9y6 0HekVYzpkkczhEmEOc1fLRurfM3kTdI= X-MC-Unique: qtrCyX0DMhC8-5EFLNZCqQ-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH v2 09/12] qemu: monitor: Don't add 'props' wrapper if qemu has QEMU_CAPS_OBJECT_QAPIFIED Date: Wed, 24 Feb 2021 16:58:03 +0100 Message-Id: <37256d5a768e7c3c754e00bace1ab8d2add9ebc4.1614182040.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Set 'objectAddNoWrap' when the capability is present. Signed-off-by: Peter Krempa --- src/qemu/qemu_monitor.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 121c21be5c..1e4c4809b1 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -32,6 +32,7 @@ #include "qemu_monitor_json.h" #include "qemu_domain.h" #include "qemu_process.h" +#include "qemu_capabilities.h" #include "virerror.h" #include "viralloc.h" #include "virlog.h" @@ -672,6 +673,7 @@ qemuMonitorOpenInternal(virDomainObjPtr vm, qemuMonitorCallbacksPtr cb, void *opaque) { + qemuDomainObjPrivatePtr priv =3D vm->privateData; qemuMonitorPtr mon; g_autoptr(GError) gerr =3D NULL; @@ -704,6 +706,9 @@ qemuMonitorOpenInternal(virDomainObjPtr vm, mon->cb =3D cb; mon->callbackOpaque =3D opaque; + if (priv) + mon->objectAddNoWrap =3D virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_= OBJECT_QAPIFIED); + if (virSetCloseExec(mon->fd) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Unable to set monitor close-on-exec flag")= ); --=20 2.29.2 From nobody Wed May 8 00:22:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1614182345; cv=none; d=zohomail.com; s=zohoarc; b=n7+D/I8nCjGLgSqYHJxNlhRMHuy7fS/Xs7c3Q9sG9GQQqWOZUPkmb+SjHfWQVfZauqnBzZb0z4Wi9U+/VQI6AOxQaSuP4SZFG7Nq+65xt5eg26MQxgCxrdfO2rqpgvdPZm0drE1g7gi+Jic1pX0uwHS2woG7ulfjDcQYOU2EZfw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1614182345; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=O/XAuuwkvYirwQ4gEaYbDYZ5ZtoEMwyQrQmmKRTHomo=; b=jE1LdMfeo6e9pefxzer7r4vR/ZFnf9qQMypD2ZihGUx1NYBj9WUT4Vq5ETRUHPKw0ETHSdRsX9eL7KIss8o7GfZBam1LbXlbLp4LukQrUGAM5G7GAw31S5Wg1ZcDooxRah/r5KcBiniw6Wc6VXZMwDgRKdcVObwC4zzxzIwcFgQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1614182345200842.8364384284206; Wed, 24 Feb 2021 07:59:05 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-232-rO6i76oYNWe953p-6I6rRw-1; Wed, 24 Feb 2021 10:59:01 -0500 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id CF81F80404D; Wed, 24 Feb 2021 15:58:50 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id ABD6359442; Wed, 24 Feb 2021 15:58:50 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 6B80F1809C90; Wed, 24 Feb 2021 15:58:50 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 11OFwLxs010892 for ; Wed, 24 Feb 2021 10:58:21 -0500 Received: by smtp.corp.redhat.com (Postfix) id BFAE610016F9; Wed, 24 Feb 2021 15:58:21 +0000 (UTC) Received: from speedmetal.lan (unknown [10.40.208.53]) by smtp.corp.redhat.com (Postfix) with ESMTP id 205911001E73 for ; Wed, 24 Feb 2021 15:58:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1614182344; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=O/XAuuwkvYirwQ4gEaYbDYZ5ZtoEMwyQrQmmKRTHomo=; b=KKieb3OqQKm7bDlQtnSKNPAR72hEEL2J3h5ibanpU5524/t9LSmeH5+b+uuR5TCcgHELnO mcG7JnBebUE2ScE9g5VDkrH77kXEmjdpHSiVDe/KbFOiDN1yhj3hC4oXkb0HtAYYmXfCPo 3Enp0JUKhYs4UVFRh7KCLZgR/Udt480= X-MC-Unique: rO6i76oYNWe953p-6I6rRw-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH v2 10/12] qemumonitorjsontest: Remove bomb guarding object-add Date: Wed, 24 Feb 2021 16:58:04 +0100 Message-Id: <129f2fc2c4fdcd8c664cb3953fa136696c9afd3f.1614182040.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Libvirt is now prepared for QAPIfied object-add. Signed-off-by: Peter Krempa --- tests/qemumonitorjsontest.c | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index 82c74e2ef9..48b41c908a 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -2740,20 +2740,6 @@ testQAPISchemaObjectDeviceAdd(const void *opaque) return -1; } - if (virQEMUQAPISchemaPathGet("object-add/arg-type", schema, &entry) < = 0) { - fprintf(stderr, "schema for 'objectadd' not found\n"); - return -1; - } - - if (testQEMUSchemaEntryMatchTemplate(entry, - "str:qom-type", - "str:id", - "any:props", - NULL) < 0) { - VIR_TEST_VERBOSE("object-add has unexpected members in schema"); - return -1; - } - return 0; } --=20 2.29.2 From nobody Wed May 8 00:22:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1614182332; cv=none; d=zohomail.com; s=zohoarc; b=c51wxUMMnI13L+QTd0EcfEMIjuErkD1Ji6ndP2hGxZ4gNLYXE+Ja3k3U5cCFHOZdFGMF64zWt+KIK/asj+NucSCzIc8FqMH8oPM3+VsDT/tTnRCD+j5l6RTNEJ48Ldtkt/z8paiXEp7N2RfGNzJ5pBdQ7zjeXpMSc7ddEWT+m3o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1614182332; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=bn/rROO5jZYDyNXQ+4SbUfaYyXiQeYgmyHSJlg1WEv0=; b=NHf/bDDlBGirAkyrnuBUBM7VggJgxpqSmteilOyRZR9f7uZKIuwqvS8I0ZBzby+BssndqmncOgrSMUsV3BedKDPZoyhStGGwMPIDFsPD2GVHG0BuYMUugLViz6SdB2hI9grShA/2nU7GBpfIMATumv1/7M3nxXPodbqu0b6ke3s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 161418233200576.74872192525117; Wed, 24 Feb 2021 07:58:52 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-232-FeSOXt4tN6WmjeA1smgC9A-1; Wed, 24 Feb 2021 10:58:45 -0500 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 71961801976; Wed, 24 Feb 2021 15:58:40 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 464B060C61; Wed, 24 Feb 2021 15:58:40 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id F19F34EE0B; Wed, 24 Feb 2021 15:58:39 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 11OFwNDr010915 for ; Wed, 24 Feb 2021 10:58:23 -0500 Received: by smtp.corp.redhat.com (Postfix) id 93D6C10016FD; Wed, 24 Feb 2021 15:58:23 +0000 (UTC) Received: from speedmetal.lan (unknown [10.40.208.53]) by smtp.corp.redhat.com (Postfix) with ESMTP id 345CE10016F9 for ; Wed, 24 Feb 2021 15:58:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1614182330; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=bn/rROO5jZYDyNXQ+4SbUfaYyXiQeYgmyHSJlg1WEv0=; b=ZAhNtkZlhD9L/R7h0f8MU6OttcX4XFrLeTKWmVahnH9CHO43c0bka8jQTtrLW05Y4fXeut VSEWToJZPSngLQABv6ER1otJMJiwH8lINQi6WipH6RL1uv6Db9HLN5NY7NVy8pfdfeotRw O9Z7K4lyIcMPkonssMardF20SipSGyY= X-MC-Unique: FeSOXt4tN6WmjeA1smgC9A-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH v2 11/12] tests: qemucapabilities: Update qemu caps for object-add qapification Date: Wed, 24 Feb 2021 16:58:05 +0100 Message-Id: <06ea1ecc88f5bcf7873ea2f5d59f117d2f860778.1614182040.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" qemu qapified object-add, which means that it's introspectable via query-qmp-schema. Update the qemu-6.0 capabilities to commit XXXXXXXXXX TODO: update to pushed version --- .../caps_6.0.0.x86_64.replies | 3238 ++++++++++++----- .../caps_6.0.0.x86_64.xml | 83 +- 2 files changed, 2471 insertions(+), 850 deletions(-) diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_6.0.0.x86_64.replies index 04ebd04583..d878522c75 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.replies @@ -21,7 +21,7 @@ "minor": 2, "major": 5 }, - "package": "v5.2.0-2208-gc79f01c945" + "package": "v5.2.0-2362-g25fa357a8e" }, "id": "libvirt-2" } @@ -45,9 +45,6 @@ { "return": [ - { - "name": "object-add" - }, { "name": "device_add" }, @@ -210,6 +207,9 @@ { "name": "object-del" }, + { + "name": "object-add" + }, { "name": "qom-list-properties" }, @@ -667,6 +667,10 @@ "name": "vhost-user-vsock-device", "parent": "vhost-vsock-common" }, + { + "name": "virtio-blk-pci-transitional", + "parent": "virtio-blk-pci-base" + }, { "name": "pcie-pci-bridge", "parent": "base-pci-bridge" @@ -675,6 +679,10 @@ "name": "pc-q35-2.11-machine", "parent": "generic-pc-machine" }, + { + "name": "virtio-crypto-device", + "parent": "virtio-device" + }, { "name": "isa-applesmc", "parent": "isa-device" @@ -692,35 +700,35 @@ "parent": "bus" }, { - "name": "virtio-crypto-device", - "parent": "virtio-device" + "name": "Denverton-x86_64-cpu", + "parent": "x86_64-cpu" }, { "name": "chardev-testdev", "parent": "chardev" }, { - "name": "Denverton-x86_64-cpu", - "parent": "x86_64-cpu" + "name": "usb-wacom-tablet", + "parent": "usb-device" }, { - "name": "pci-ipmi-bt", - "parent": "pci-device" + "name": "Icelake-Server-v1-x86_64-cpu", + "parent": "x86_64-cpu" }, { - "name": "sev-guest", - "parent": "confidential-guest-support" + "name": "chardev-stdio", + "parent": "chardev-fd" }, { - "name": "usb-redir", - "parent": "usb-device" + "name": "pci-ipmi-bt", + "parent": "pci-device" }, { "name": "filter-buffer", "parent": "netfilter" }, { - "name": "usb-wacom-tablet", + "name": "usb-redir", "parent": "usb-device" }, { @@ -732,8 +740,8 @@ "parent": "pci-vga" }, { - "name": "virtio-blk-pci-transitional", - "parent": "virtio-blk-pci-base" + "name": "kvm-pit", + "parent": "pit-common" }, { "name": "Haswell-v1-x86_64-cpu", @@ -756,8 +764,8 @@ "parent": "generic-pc-machine" }, { - "name": "kvm-pit", - "parent": "pit-common" + "name": "sev-guest", + "parent": "confidential-guest-support" }, { "name": "ich9-usb-uhci5", @@ -812,8 +820,8 @@ "parent": "usb-device" }, { - "name": "chardev-serial", - "parent": "chardev-fd" + "name": "chardev-pty", + "parent": "chardev" }, { "name": "virtio-blk-device", @@ -848,8 +856,8 @@ "parent": "generic-pc-machine" }, { - "name": "chardev-pty", - "parent": "chardev" + "name": "chardev-serial", + "parent": "chardev-fd" }, { "name": "qtest-accel", @@ -979,14 +987,14 @@ "name": "pci-ipmi-kcs", "parent": "pci-device" }, - { - "name": "intel-iommu-iommu-memory-region", - "parent": "qemu:iommu-memory-region" - }, { "name": "xio3130-downstream", "parent": "pcie-slot" }, + { + "name": "intel-iommu-iommu-memory-region", + "parent": "qemu:iommu-memory-region" + }, { "name": "vhost-user-vsock-pci-non-transitional", "parent": "vhost-user-vsock-pci-base" @@ -995,14 +1003,14 @@ "name": "pc-i440fx-2.3-machine", "parent": "generic-pc-machine" }, - { - "name": "PCI", - "parent": "bus" - }, { "name": "microvm-machine", "parent": "x86-machine" }, + { + "name": "PCI", + "parent": "bus" + }, { "name": "sdhci-bus", "parent": "sd-bus" @@ -1104,8 +1112,8 @@ "parent": "pci-device" }, { - "name": "virtio-input-host-pci", - "parent": "virtio-input-host-pci-base-type" + "name": "virtio-9p-pci-transitional", + "parent": "virtio-9p-pci-base" }, { "name": "nvdimm", @@ -1116,8 +1124,8 @@ "parent": "generic-pc-machine" }, { - "name": "virtio-9p-pci-transitional", - "parent": "virtio-9p-pci-base" + "name": "virtio-input-host-pci", + "parent": "virtio-input-host-pci-base-type" }, { "name": "Opteron_G1-x86_64-cpu", @@ -1180,21 +1188,21 @@ "parent": "vhost-user-scsi-pci-base" }, { - "name": "vmmouse", - "parent": "isa-device" + "name": "pc-q35-2.8-machine", + "parent": "generic-pc-machine" }, { "name": "chardev-udp", "parent": "chardev" }, - { - "name": "pc-q35-2.8-machine", - "parent": "generic-pc-machine" - }, { "name": "generic-sdhci", "parent": "sys-bus-device" }, + { + "name": "vmmouse", + "parent": "isa-device" + }, { "name": "virtio-scsi-pci-non-transitional", "parent": "virtio-scsi-pci-base" @@ -1284,16 +1292,16 @@ "parent": "vhost-scsi-common" }, { - "name": "sd-card", - "parent": "device" + "name": "usb-tablet", + "parent": "usb-hid" }, { "name": "sysbus-ahci", "parent": "sys-bus-device" }, { - "name": "usb-tablet", - "parent": "usb-hid" + "name": "sd-card", + "parent": "device" }, { "name": "pc-q35-4.0.1-machine", @@ -1311,14 +1319,14 @@ "name": "isabus-bridge", "parent": "sys-bus-device" }, - { - "name": "IvyBridge-v2-x86_64-cpu", - "parent": "x86_64-cpu" - }, { "name": "ne2k_pci", "parent": "pci-device" }, + { + "name": "IvyBridge-v2-x86_64-cpu", + "parent": "x86_64-cpu" + }, { "name": "usb-bus", "parent": "bus" @@ -1327,10 +1335,6 @@ "name": "ide-cd", "parent": "ide-device" }, - { - "name": "qemu:memory-region", - "parent": "object" - }, { "name": "tcg-accel", "parent": "accel" @@ -1339,14 +1343,18 @@ "name": "virtio-balloon-pci", "parent": "virtio-balloon-pci-base" }, - { - "name": "virtio-gpu-device", - "parent": "virtio-gpu-base" - }, { "name": "Cascadelake-Server-v2-x86_64-cpu", "parent": "x86_64-cpu" }, + { + "name": "qemu:memory-region", + "parent": "object" + }, + { + "name": "virtio-gpu-device", + "parent": "virtio-gpu-base" + }, { "name": "e1000", "parent": "e1000-base" @@ -1403,14 +1411,14 @@ "name": "pc-q35-6.0-machine", "parent": "generic-pc-machine" }, - { - "name": "mioe3680_pci", - "parent": "pci-device" - }, { "name": "vhost-user-backend", "parent": "object" }, + { + "name": "mioe3680_pci", + "parent": "pci-device" + }, { "name": "vmxnet3", "parent": "pci-device" @@ -1451,6 +1459,10 @@ "name": "virtio-serial-device", "parent": "virtio-device" }, + { + "name": "virtio-serial-pci", + "parent": "virtio-serial-pci-base" + }, { "name": "Denverton-v2-x86_64-cpu", "parent": "x86_64-cpu" @@ -1507,10 +1519,6 @@ "name": "vhost-user-blk-pci-non-transitional", "parent": "vhost-user-blk-pci-base" }, - { - "name": "virtio-rng-pci-non-transitional", - "parent": "virtio-rng-pci-base" - }, { "name": "cirrus-vga", "parent": "pci-device" @@ -1536,8 +1544,8 @@ "parent": "pcie-host-bridge" }, { - "name": "virtio-serial-pci", - "parent": "virtio-serial-pci-base" + "name": "virtio-rng-pci-non-transitional", + "parent": "virtio-rng-pci-base" }, { "name": "Skylake-Client-x86_64-cpu", @@ -1583,10 +1591,6 @@ "name": "virtio-serial-pci-non-transitional", "parent": "virtio-serial-pci-base" }, - { - "name": "ICH9 SMB", - "parent": "pci-device" - }, { "name": "qemu64-v1-x86_64-cpu", "parent": "x86_64-cpu" @@ -1595,6 +1599,10 @@ "name": "e1000-82545em", "parent": "e1000-base" }, + { + "name": "ICH9 SMB", + "parent": "pci-device" + }, { "name": "sdhci-pci", "parent": "pci-device" @@ -1687,14 +1695,14 @@ "name": "pci-ohci", "parent": "pci-device" }, - { - "name": "Haswell-x86_64-cpu", - "parent": "x86_64-cpu" - }, { "name": "virtio-tablet-device", "parent": "virtio-input-hid-device" }, + { + "name": "Haswell-x86_64-cpu", + "parent": "x86_64-cpu" + }, { "name": "ccid-card-passthru", "parent": "ccid-card" @@ -1940,20 +1948,20 @@ "parent": "virtio-iommu-device-base" }, { - "name": "vmcoreinfo", - "parent": "device" + "name": "chardev-braille", + "parent": "chardev" }, { "name": "Icelake-Client-v1-x86_64-cpu", "parent": "x86_64-cpu" }, { - "name": "tpci200", - "parent": "pci-device" + "name": "vmcoreinfo", + "parent": "device" }, { - "name": "chardev-braille", - "parent": "chardev" + "name": "tpci200", + "parent": "pci-device" }, { "name": "rocker", @@ -2028,7 +2036,7 @@ "parent": "device" }, { - "name": "Westmere-v2-x86_64-cpu", + "name": "Cascadelake-Server-noTSX-x86_64-cpu", "parent": "x86_64-cpu" }, { @@ -2039,10 +2047,6 @@ "name": "nvme-bus", "parent": "bus" }, - { - "name": "virtconsole", - "parent": "virtserialport" - }, { "name": "virtio-net-pci-non-transitional", "parent": "virtio-net-pci-base" @@ -2052,16 +2056,16 @@ "parent": "isa-device" }, { - "name": "virtio-iommu-pci-non-transitional", - "parent": "virtio-iommu-device-base" + "name": "hyperv-testdev", + "parent": "isa-device" }, { "name": "scsi-hd", "parent": "scsi-disk-base" }, { - "name": "Cascadelake-Server-noTSX-x86_64-cpu", - "parent": "x86_64-cpu" + "name": "tpm-tis", + "parent": "isa-device" }, { "name": "usb-kbd", @@ -2104,8 +2108,12 @@ "parent": "x86_64-cpu" }, { - "name": "hyperv-testdev", - "parent": "isa-device" + "name": "lsi53c810", + "parent": "lsi53c895a" + }, + { + "name": "virtio-iommu-pci-non-transitional", + "parent": "virtio-iommu-device-base" }, { "name": "s3c-sdhci", @@ -2124,8 +2132,8 @@ "parent": "generic-pc-machine" }, { - "name": "tpm-tis", - "parent": "isa-device" + "name": "Westmere-v2-x86_64-cpu", + "parent": "x86_64-cpu" }, { "name": "pc-q35-5.1-machine", @@ -2140,8 +2148,8 @@ "parent": "virtio-input-hid-device" }, { - "name": "lsi53c810", - "parent": "lsi53c895a" + "name": "virtconsole", + "parent": "virtserialport" }, { "name": "ioh3420", @@ -2331,6 +2339,10 @@ "name": "Broadwell-v1-x86_64-cpu", "parent": "x86_64-cpu" }, + { + "name": "EPYC-Milan-v1-x86_64-cpu", + "parent": "x86_64-cpu" + }, { "name": "KnightsMill-v1-x86_64-cpu", "parent": "x86_64-cpu" @@ -2575,25 +2587,25 @@ "name": "Cascadelake-Server-v3-x86_64-cpu", "parent": "x86_64-cpu" }, + { + "name": "Nehalem-IBRS-x86_64-cpu", + "parent": "x86_64-cpu" + }, { "name": "cfi.pflash01", "parent": "sys-bus-device" }, { - "name": "isa-parallel", - "parent": "isa-device" + "name": "Skylake-Server-x86_64-cpu", + "parent": "x86_64-cpu" }, { "name": "pc-q35-2.7-machine", "parent": "generic-pc-machine" }, { - "name": "Skylake-Server-x86_64-cpu", - "parent": "x86_64-cpu" - }, - { - "name": "Nehalem-IBRS-x86_64-cpu", - "parent": "x86_64-cpu" + "name": "isa-parallel", + "parent": "isa-device" }, { "name": "pentium2-v1-x86_64-cpu", @@ -2663,14 +2675,14 @@ "name": "i82558a", "parent": "pci-device" }, - { - "name": "loader", - "parent": "device" - }, { "name": "usb-serial", "parent": "usb-serial-dev" }, + { + "name": "loader", + "parent": "device" + }, { "name": "pvscsi", "parent": "pci-device" @@ -2703,6 +2715,10 @@ "name": "dc390", "parent": "am53c974" }, + { + "name": "EPYC-Milan-x86_64-cpu", + "parent": "x86_64-cpu" + }, { "name": "i6300esb", "parent": "pci-device" @@ -2812,8 +2828,8 @@ "parent": "x86_64-cpu" }, { - "name": "pcie-root-port", - "parent": "pcie-root-port-base" + "name": "kvm64-v1-x86_64-cpu", + "parent": "x86_64-cpu" }, { "name": "IDE", @@ -2824,8 +2840,8 @@ "parent": "x86_64-cpu" }, { - "name": "kvm64-v1-x86_64-cpu", - "parent": "x86_64-cpu" + "name": "pcie-root-port", + "parent": "pcie-root-port-base" }, { "name": "mptsas1068", @@ -2923,18 +2939,10 @@ "name": "qio-channel-tls", "parent": "qio-channel" }, - { - "name": "chardev-stdio", - "parent": "chardev-fd" - }, { "name": "virtio-vga", "parent": "virtio-vga-base-type" }, - { - "name": "Icelake-Server-v1-x86_64-cpu", - "parent": "x86_64-cpu" - }, { "name": "authz-pam", "parent": "authz" @@ -7595,6 +7603,10 @@ "name": "cr8legacy", "type": "bool" }, + { + "name": "vmx-invept-single-context-noglobals", + "type": "bool" + }, { "name": "vmx-zero-len-inject", "type": "bool" @@ -7628,7 +7640,7 @@ "type": "bool" }, { - "name": "vmx-invept-single-context-noglobals", + "name": "ibrs", "type": "bool" }, { @@ -8307,23 +8319,23 @@ "type": "bool" }, { - "name": "vmx-wbinvd-exit", + "name": "vmx-exit-load-perf-global-ctrl", "type": "bool" }, { - "name": "vmx-exit-load-perf-global-ctrl", + "name": "xgetbv1", "type": "bool" }, { - "name": "3dnow", + "name": "vmx-wbinvd-exit", "type": "bool" }, { - "name": "la57", + "name": "3dnow", "type": "bool" }, { - "name": "xgetbv1", + "name": "kvm-asyncpf-int", "type": "bool" }, { @@ -8331,7 +8343,7 @@ "type": "bool" }, { - "name": "kvm-asyncpf-int", + "name": "la57", "type": "bool" }, { @@ -10392,6 +10404,39 @@ "migration-safe": true, "deprecated": false }, + { + "name": "EPYC-Milan-v1", + "typename": "EPYC-Milan-v1-x86_64-cpu", + "unavailable-features": [ + "pcid", + "erms", + "invpcid", + "pku", + "fsrm", + "ibrs", + "pku" + ], + "static": false, + "migration-safe": true, + "deprecated": false + }, + { + "name": "EPYC-Milan", + "typename": "EPYC-Milan-x86_64-cpu", + "unavailable-features": [ + "pcid", + "erms", + "invpcid", + "pku", + "fsrm", + "ibrs", + "pku" + ], + "alias-of": "EPYC-Milan-v1", + "static": false, + "migration-safe": true, + "deprecated": false + }, { "name": "EPYC-IBPB", "typename": "EPYC-IBPB-x86_64-cpu", @@ -10908,6 +10953,31 @@ ], "option": "iscsi" }, + { + "parameters": [ + { + "name": "resourcecontrol", + "type": "string" + }, + { + "name": "spawn", + "type": "string" + }, + { + "name": "elevateprivileges", + "type": "string" + }, + { + "name": "obsolete", + "type": "string" + }, + { + "name": "enable", + "type": "boolean" + } + ], + "option": "sandbox" + }, { "parameters": [ ], @@ -11105,27 +11175,95 @@ { "parameters": [ { - "name": "resourcecontrol", - "type": "string" + "name": "power-control", + "type": "boolean" }, { - "name": "spawn", + "name": "audiodev", "type": "string" }, { - "name": "elevateprivileges", + "name": "non-adaptive", + "type": "boolean" + }, + { + "name": "lossy", + "type": "boolean" + }, + { + "name": "sasl-authz", "type": "string" }, { - "name": "obsolete", + "name": "tls-authz", "type": "string" }, { - "name": "enable", + "name": "acl", + "type": "boolean" + }, + { + "name": "sasl", + "type": "boolean" + }, + { + "name": "key-delay-ms", + "type": "number" + }, + { + "name": "lock-key-sync", + "type": "boolean" + }, + { + "name": "reverse", + "type": "boolean" + }, + { + "name": "password", "type": "boolean" + }, + { + "name": "ipv6", + "type": "boolean" + }, + { + "name": "ipv4", + "type": "boolean" + }, + { + "name": "to", + "type": "number" + }, + { + "name": "connections", + "type": "number" + }, + { + "name": "head", + "type": "number" + }, + { + "name": "display", + "type": "string" + }, + { + "name": "share", + "type": "string" + }, + { + "name": "tls-creds", + "type": "string" + }, + { + "name": "websocket", + "type": "string" + }, + { + "name": "vnc", + "type": "string" } ], - "option": "sandbox" + "option": "vnc" }, { "parameters": [ @@ -11261,99 +11399,6 @@ ], "option": "spice" }, - { - "parameters": [ - { - "name": "power-control", - "type": "boolean" - }, - { - "name": "audiodev", - "type": "string" - }, - { - "name": "non-adaptive", - "type": "boolean" - }, - { - "name": "lossy", - "type": "boolean" - }, - { - "name": "sasl-authz", - "type": "string" - }, - { - "name": "tls-authz", - "type": "string" - }, - { - "name": "acl", - "type": "boolean" - }, - { - "name": "sasl", - "type": "boolean" - }, - { - "name": "key-delay-ms", - "type": "number" - }, - { - "name": "lock-key-sync", - "type": "boolean" - }, - { - "name": "reverse", - "type": "boolean" - }, - { - "name": "password", - "type": "boolean" - }, - { - "name": "ipv6", - "type": "boolean" - }, - { - "name": "ipv4", - "type": "boolean" - }, - { - "name": "to", - "type": "number" - }, - { - "name": "connections", - "type": "number" - }, - { - "name": "head", - "type": "number" - }, - { - "name": "display", - "type": "string" - }, - { - "name": "share", - "type": "string" - }, - { - "name": "tls-creds", - "type": "string" - }, - { - "name": "websocket", - "type": "string" - }, - { - "name": "vnc", - "type": "string" - } - ], - "option": "vnc" - }, { "parameters": [ { @@ -18367,32 +18412,174 @@ }, { "name": "180", - "members": [ + "tag": "qom-type", + "variants": [ { - "name": "qom-type", - "type": "str" + "case": "authz-list", + "type": "382" }, { - "name": "id", - "type": "str" + "case": "authz-listfile", + "type": "383" }, { - "name": "props", - "default": null, - "type": "any" - } - ], - "meta-type": "object" - }, - { - "name": "181", - "members": [ + "case": "authz-pam", + "type": "384" + }, { - "name": "id", - "type": "str" - } - ], - "meta-type": "object" + "case": "authz-simple", + "type": "385" + }, + { + "case": "can-host-socketcan", + "type": "386" + }, + { + "case": "colo-compare", + "type": "387" + }, + { + "case": "cryptodev-backend", + "type": "388" + }, + { + "case": "cryptodev-backend-builtin", + "type": "388" + }, + { + "case": "cryptodev-vhost-user", + "type": "389" + }, + { + "case": "dbus-vmstate", + "type": "390" + }, + { + "case": "filter-buffer", + "type": "391" + }, + { + "case": "filter-dump", + "type": "392" + }, + { + "case": "filter-mirror", + "type": "393" + }, + { + "case": "filter-redirector", + "type": "394" + }, + { + "case": "filter-replay", + "type": "395" + }, + { + "case": "filter-rewriter", + "type": "396" + }, + { + "case": "input-barrier", + "type": "397" + }, + { + "case": "input-linux", + "type": "398" + }, + { + "case": "iothread", + "type": "399" + }, + { + "case": "memory-backend-file", + "type": "400" + }, + { + "case": "memory-backend-memfd", + "type": "401" + }, + { + "case": "memory-backend-ram", + "type": "402" + }, + { + "case": "pr-manager-helper", + "type": "403" + }, + { + "case": "rng-builtin", + "type": "404" + }, + { + "case": "rng-egd", + "type": "405" + }, + { + "case": "rng-random", + "type": "406" + }, + { + "case": "secret", + "type": "407" + }, + { + "case": "secret_keyring", + "type": "408" + }, + { + "case": "throttle-group", + "type": "410" + }, + { + "case": "tls-creds-anon", + "type": "411" + }, + { + "case": "tls-creds-psk", + "type": "412" + }, + { + "case": "tls-creds-x509", + "type": "413" + }, + { + "case": "tls-cipher-suites", + "type": "414" + }, + { + "case": "x-remote-object", + "type": "415" + }, + { + "case": "can-bus", + "type": "0" + }, + { + "case": "s390-pv-guest", + "type": "0" + } + ], + "members": [ + { + "name": "qom-type", + "type": "381" + }, + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "181", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" }, { "name": "182", @@ -18460,31 +18647,31 @@ "variants": [ { "case": "x86", - "type": "383" + "type": "418" }, { "case": "sparc", - "type": "384" + "type": "419" }, { "case": "ppc", - "type": "385" + "type": "420" }, { "case": "mips", - "type": "386" + "type": "421" }, { "case": "tricore", - "type": "387" + "type": "422" }, { "case": "s390", - "type": "388" + "type": "423" }, { "case": "riscv", - "type": "389" + "type": "424" }, { "case": "other", @@ -18515,11 +18702,11 @@ { "name": "props", "default": null, - "type": "381" + "type": "416" }, { "name": "arch", - "type": "382" + "type": "417" } ], "meta-type": "object" @@ -18535,7 +18722,7 @@ "variants": [ { "case": "s390x", - "type": "388" + "type": "423" }, { "case": "aarch64", @@ -18682,18 +18869,18 @@ { "name": "props", "default": null, - "type": "381" + "type": "416" }, { "name": "arch", - "type": "382", + "type": "417", "features": [ "deprecated" ] }, { "name": "target", - "type": "390" + "type": "425" } ], "meta-type": "object" @@ -18764,7 +18951,7 @@ "members": [ { "name": "arch", - "type": "390" + "type": "425" } ], "meta-type": "object" @@ -18879,7 +19066,7 @@ }, { "name": "policy", - "type": "391" + "type": "426" } ], "meta-type": "object" @@ -18902,7 +19089,7 @@ }, { "name": "props", - "type": "381" + "type": "416" }, { "name": "qom-path", @@ -18918,29 +19105,29 @@ "variants": [ { "case": "node", - "type": "393" + "type": "428" }, { "case": "dist", - "type": "394" + "type": "429" }, { "case": "cpu", - "type": "395" + "type": "430" }, { "case": "hmat-lb", - "type": "396" + "type": "431" }, { "case": "hmat-cache", - "type": "397" + "type": "432" } ], "members": [ { "name": "type", - "type": "392" + "type": "427" } ], "meta-type": "object" @@ -19001,25 +19188,25 @@ "variants": [ { "case": "dimm", - "type": "399" + "type": "434" }, { "case": "nvdimm", - "type": "399" + "type": "434" }, { "case": "virtio-pmem", - "type": "400" + "type": "435" }, { "case": "virtio-mem", - "type": "401" + "type": "436" } ], "members": [ { "name": "type", - "type": "398" + "type": "433" } ], "meta-type": "object" @@ -19058,11 +19245,11 @@ "members": [ { "name": "type", - "type": "404" + "type": "439" }, { "name": "model", - "type": "402" + "type": "437" } ], "meta-type": "object" @@ -19072,7 +19259,7 @@ "members": [ { "name": "model", - "type": "402" + "type": "437" } ], "meta-type": "object" @@ -19124,7 +19311,7 @@ "members": [ { "name": "mode", - "type": "405" + "type": "440" }, { "name": "filename", @@ -19179,11 +19366,11 @@ "variants": [ { "case": "block-node", - "type": "407" + "type": "442" }, { "case": "chardev", - "type": "408" + "type": "443" }, { "case": "migration", @@ -19193,7 +19380,7 @@ "members": [ { "name": "type", - "type": "406" + "type": "441" } ], "meta-type": "object" @@ -19358,7 +19545,7 @@ }, { "name": "fds", - "type": "[409]" + "type": "[444]" } ], "meta-type": "object" @@ -19388,7 +19575,7 @@ }, { "name": "parameters", - "type": "[410]" + "type": "[445]" } ], "meta-type": "object" @@ -19428,7 +19615,7 @@ }, { "name": "state", - "type": "411" + "type": "446" }, { "name": "handle", @@ -19507,7 +19694,7 @@ }, { "name": "slot-type", - "type": "412" + "type": "447" }, { "name": "source", @@ -19544,7 +19731,7 @@ }, { "name": "devices", - "type": "[413]" + "type": "[448]" } ], "meta-type": "object" @@ -19645,17 +19832,17 @@ "variants": [ { "case": "hyper-v", - "type": "415" + "type": "450" }, { "case": "s390", - "type": "416" + "type": "451" } ], "members": [ { "name": "type", - "type": "414" + "type": "449" } ], "meta-type": "object" @@ -19746,7 +19933,7 @@ }, { "name": "status", - "type": "417", + "type": "452", "features": [ "deprecated" ] @@ -19873,22 +20060,22 @@ }, { "name": "timed_stats", - "type": "[418]" + "type": "[453]" }, { "name": "rd_latency_histogram", "default": null, - "type": "419" + "type": "454" }, { "name": "wr_latency_histogram", "default": null, - "type": "419" + "type": "454" }, { "name": "flush_latency_histogram", "default": null, - "type": "419" + "type": "454" } ], "meta-type": "object" @@ -19899,15 +20086,15 @@ "variants": [ { "case": "file", - "type": "420" + "type": "455" }, { "case": "host_device", - "type": "420" + "type": "455" }, { "case": "nvme", - "type": "421" + "type": "456" }, { "case": "blkdebug", @@ -20224,7 +20411,7 @@ { "name": "format-specific", "default": null, - "type": "422" + "type": "457" } ], "meta-type": "object" @@ -20261,7 +20448,7 @@ }, { "name": "type", - "type": "423" + "type": "458" }, { "name": "name", @@ -20292,11 +20479,11 @@ }, { "name": "perm", - "type": "[424]" + "type": "[459]" }, { "name": "shared-perm", - "type": "[424]" + "type": "[459]" } ], "meta-type": "object" @@ -20402,7 +20589,7 @@ "members": [ { "name": "image", - "type": "425" + "type": "460" }, { "name": "config", @@ -20442,22 +20629,22 @@ { "name": "inject-error", "default": null, - "type": "[426]" + "type": "[461]" }, { "name": "set-state", "default": null, - "type": "[427]" + "type": "[462]" }, { "name": "take-child-perms", "default": null, - "type": "[424]" + "type": "[459]" }, { "name": "unshare-child-perms", "default": null, - "type": "[424]" + "type": "[459]" } ], "meta-type": "object" @@ -20467,11 +20654,11 @@ "members": [ { "name": "file", - "type": "425" + "type": "460" }, { "name": "log", - "type": "425" + "type": "460" }, { "name": "log-sector-size", @@ -20496,11 +20683,11 @@ "members": [ { "name": "test", - "type": "425" + "type": "460" }, { "name": "raw", - "type": "425" + "type": "460" } ], "meta-type": "object" @@ -20510,7 +20697,7 @@ "members": [ { "name": "image", - "type": "425" + "type": "460" } ], "meta-type": "object" @@ -20520,7 +20707,7 @@ "members": [ { "name": "file", - "type": "425" + "type": "460" } ], "meta-type": "object" @@ -20530,7 +20717,7 @@ "members": [ { "name": "file", - "type": "425" + "type": "460" }, { "name": "bottom", @@ -20555,12 +20742,12 @@ { "name": "locking", "default": null, - "type": "428" + "type": "463" }, { "name": "aio", "default": null, - "type": "429" + "type": "464" }, { "name": "drop-cache", @@ -20801,7 +20988,7 @@ "members": [ { "name": "transport", - "type": "430" + "type": "465" }, { "name": "portal", @@ -20834,7 +21021,7 @@ { "name": "header-digest", "default": null, - "type": "431" + "type": "466" }, { "name": "timeout", @@ -20849,7 +21036,7 @@ "members": [ { "name": "file", - "type": "425" + "type": "460" }, { "name": "key-secret", @@ -20894,7 +21081,7 @@ "members": [ { "name": "server", - "type": "432" + "type": "467" }, { "name": "path", @@ -20973,7 +21160,7 @@ "members": [ { "name": "file", - "type": "425" + "type": "460" }, { "name": "prealloc-align", @@ -20993,12 +21180,12 @@ "members": [ { "name": "file", - "type": "425" + "type": "460" }, { "name": "backing", "default": null, - "type": "433" + "type": "468" }, { "name": "lazy-refcounts", @@ -21023,7 +21210,7 @@ { "name": "overlap-check", "default": null, - "type": "434" + "type": "469" }, { "name": "cache-size", @@ -21053,12 +21240,12 @@ { "name": "encrypt", "default": null, - "type": "435" + "type": "470" }, { "name": "data-file", "default": null, - "type": "425" + "type": "460" } ], "meta-type": "object" @@ -21068,17 +21255,17 @@ "members": [ { "name": "file", - "type": "425" + "type": "460" }, { "name": "backing", "default": null, - "type": "433" + "type": "468" }, { "name": "encrypt", "default": null, - "type": "436" + "type": "471" } ], "meta-type": "object" @@ -21088,12 +21275,12 @@ "members": [ { "name": "file", - "type": "425" + "type": "460" }, { "name": "backing", "default": null, - "type": "433" + "type": "468" } ], "meta-type": "object" @@ -21108,7 +21295,7 @@ }, { "name": "children", - "type": "[425]" + "type": "[460]" }, { "name": "vote-threshold", @@ -21122,7 +21309,7 @@ { "name": "read-pattern", "default": null, - "type": "437" + "type": "472" } ], "meta-type": "object" @@ -21132,7 +21319,7 @@ "members": [ { "name": "file", - "type": "425" + "type": "460" }, { "name": "offset", @@ -21181,7 +21368,7 @@ { "name": "auth-client-required", "default": null, - "type": "[438]" + "type": "[473]" }, { "name": "key-secret", @@ -21191,7 +21378,7 @@ { "name": "server", "default": null, - "type": "[439]" + "type": "[474]" } ], "meta-type": "object" @@ -21201,11 +21388,11 @@ "members": [ { "name": "file", - "type": "425" + "type": "460" }, { "name": "mode", - "type": "440" + "type": "475" }, { "name": "top-id", @@ -21244,7 +21431,7 @@ "members": [ { "name": "server", - "type": "441" + "type": "476" }, { "name": "path", @@ -21258,7 +21445,7 @@ { "name": "host-key-check", "default": null, - "type": "442" + "type": "477" } ], "meta-type": "object" @@ -21272,7 +21459,7 @@ }, { "name": "file", - "type": "425" + "type": "460" } ], "meta-type": "object" @@ -21313,63 +21500,63 @@ "variants": [ { "case": "file", - "type": "443" + "type": "478" }, { "case": "gluster", - "type": "444" + "type": "479" }, { "case": "luks", - "type": "445" + "type": "480" }, { "case": "nfs", - "type": "446" + "type": "481" }, { "case": "parallels", - "type": "447" + "type": "482" }, { "case": "qcow", - "type": "448" + "type": "483" }, { "case": "qcow2", - "type": "449" + "type": "484" }, { "case": "qed", - "type": "450" + "type": "485" }, { "case": "rbd", - "type": "451" + "type": "486" }, { "case": "sheepdog", - "type": "452" + "type": "487" }, { "case": "ssh", - "type": "453" + "type": "488" }, { "case": "vdi", - "type": "454" + "type": "489" }, { "case": "vhdx", - "type": "455" + "type": "490" }, { "case": "vmdk", - "type": "456" + "type": "491" }, { "case": "vpc", - "type": "457" + "type": "492" }, { "case": "blkdebug", @@ -21490,11 +21677,11 @@ "variants": [ { "case": "luks", - "type": "458" + "type": "493" }, { "case": "qcow2", - "type": "459" + "type": "494" }, { "case": "blkdebug", @@ -21720,25 +21907,25 @@ "variants": [ { "case": "inet", - "type": "461" + "type": "496" }, { "case": "unix", - "type": "462" + "type": "497" }, { "case": "vsock", - "type": "463" + "type": "498" }, { "case": "fd", - "type": "464" + "type": "499" } ], "members": [ { "name": "type", - "type": "460" + "type": "495" } ], "meta-type": "object" @@ -21819,89 +22006,89 @@ "variants": [ { "case": "file", - "type": "466" + "type": "501" }, { "case": "serial", - "type": "467" + "type": "502" }, { "case": "parallel", - "type": "467" + "type": "502" }, { "case": "pipe", - "type": "467" + "type": "502" }, { "case": "socket", - "type": "468" + "type": "503" }, { "case": "udp", - "type": "469" + "type": "504" }, { "case": "pty", - "type": "470" + "type": "505" }, { "case": "null", - "type": "470" + "type": "505" }, { "case": "mux", - "type": "471" + "type": "506" }, { "case": "msmouse", - "type": "470" + "type": "505" }, { "case": "wctablet", - "type": "470" + "type": "505" }, { "case": "braille", - "type": "470" + "type": "505" }, { "case": "testdev", - "type": "470" + "type": "505" }, { "case": "stdio", - "type": "472" + "type": "507" }, { "case": "console", - "type": "470" + "type": "505" }, { "case": "spicevmc", - "type": "473" + "type": "508" }, { "case": "spiceport", - "type": "474" + "type": "509" }, { "case": "vc", - "type": "475" + "type": "510" }, { "case": "ringbuf", - "type": "476" + "type": "511" }, { "case": "memory", - "type": "476" + "type": "511" } ], "members": [ { "name": "type", - "type": "465" + "type": "500" } ], "meta-type": "object" @@ -22042,7 +22229,7 @@ { "name": "dnssearch", "default": null, - "type": "[477]" + "type": "[512]" }, { "name": "domainname", @@ -22082,12 +22269,12 @@ { "name": "hostfwd", "default": null, - "type": "[477]" + "type": "[512]" }, { "name": "guestfwd", "default": null, - "type": "[477]" + "type": "[512]" }, { "name": "tftp-server-name", @@ -22567,17 +22754,17 @@ "variants": [ { "case": "passthrough", - "type": "479" + "type": "514" }, { "case": "emulator", - "type": "480" + "type": "515" } ], "members": [ { "name": "type", - "type": "478" + "type": "513" } ], "meta-type": "object" @@ -22845,17 +23032,17 @@ "variants": [ { "case": "number", - "type": "482" + "type": "517" }, { "case": "qcode", - "type": "483" + "type": "518" } ], "members": [ { "name": "type", - "type": "481" + "type": "516" } ], "meta-type": "object" @@ -22871,25 +23058,25 @@ "variants": [ { "case": "key", - "type": "485" + "type": "520" }, { "case": "btn", - "type": "486" + "type": "521" }, { "case": "rel", - "type": "487" + "type": "522" }, { "case": "abs", - "type": "487" + "type": "522" } ], "members": [ { "name": "type", - "type": "484" + "type": "519" } ], "meta-type": "object" @@ -23119,25 +23306,25 @@ "variants": [ { "case": "inet", - "type": "441" + "type": "476" }, { "case": "unix", - "type": "489" + "type": "524" }, { "case": "vsock", - "type": "490" + "type": "525" }, { "case": "fd", - "type": "477" + "type": "512" } ], "members": [ { "name": "type", - "type": "488" + "type": "523" } ], "meta-type": "object" @@ -23193,7 +23380,7 @@ }, { "name": "bitmaps", - "type": "[491]" + "type": "[526]" } ], "meta-type": "object" @@ -23242,57 +23429,57 @@ "variants": [ { "case": "abort", - "type": "493" + "type": "528" }, { "case": "block-dirty-bitmap-add", - "type": "494" + "type": "529" }, { "case": "block-dirty-bitmap-remove", - "type": "495" + "type": "530" }, { "case": "block-dirty-bitmap-clear", - "type": "495" + "type": "530" }, { "case": "block-dirty-bitmap-enable", - "type": "495" + "type": "530" }, { "case": "block-dirty-bitmap-disable", - "type": "495" + "type": "530" }, { "case": "block-dirty-bitmap-merge", - "type": "496" + "type": "531" }, { "case": "blockdev-backup", - "type": "497" + "type": "532" }, { "case": "blockdev-snapshot", - "type": "498" + "type": "533" }, { "case": "blockdev-snapshot-internal-sync", - "type": "499" + "type": "534" }, { "case": "blockdev-snapshot-sync", - "type": "500" + "type": "535" }, { "case": "drive-backup", - "type": "501" + "type": "536" } ], "members": [ { "name": "type", - "type": "492" + "type": "527" } ], "meta-type": "object" @@ -23303,7 +23490,7 @@ { "name": "completion-mode", "default": null, - "type": "502" + "type": "537" } ], "meta-type": "object" @@ -23365,7 +23552,7 @@ "members": [ { "name": "json-type", - "type": "503" + "type": "538" } ], "meta-type": "object" @@ -23395,7 +23582,7 @@ "members": [ { "name": "members", - "type": "[504]" + "type": "[539]" }, { "name": "tag", @@ -23405,7 +23592,7 @@ { "name": "variants", "default": null, - "type": "[505]" + "type": "[540]" } ], "meta-type": "object" @@ -23415,7 +23602,7 @@ "members": [ { "name": "members", - "type": "[506]" + "type": "[541]" } ], "meta-type": "object" @@ -23451,55 +23638,73 @@ }, { "name": "381", + "meta-type": "enum", + "values": [ + "authz-list", + "authz-listfile", + "authz-pam", + "authz-simple", + "can-bus", + "can-host-socketcan", + "colo-compare", + "cryptodev-backend", + "cryptodev-backend-builtin", + "cryptodev-vhost-user", + "dbus-vmstate", + "filter-buffer", + "filter-dump", + "filter-mirror", + "filter-redirector", + "filter-replay", + "filter-rewriter", + "input-barrier", + "input-linux", + "iothread", + "memory-backend-file", + "memory-backend-memfd", + "memory-backend-ram", + "pr-manager-helper", + "rng-builtin", + "rng-egd", + "rng-random", + "secret", + "secret_keyring", + "s390-pv-guest", + "throttle-group", + "tls-creds-anon", + "tls-creds-psk", + "tls-creds-x509", + "tls-cipher-suites", + "x-remote-object" + ] + }, + { + "name": "382", "members": [ { - "name": "node-id", - "default": null, - "type": "int" - }, - { - "name": "socket-id", - "default": null, - "type": "int" - }, - { - "name": "die-id", - "default": null, - "type": "int" - }, - { - "name": "core-id", + "name": "policy", "default": null, - "type": "int" + "type": "542" }, { - "name": "thread-id", + "name": "rules", "default": null, - "type": "int" + "type": "[543]" } ], "meta-type": "object" }, - { - "name": "382", - "meta-type": "enum", - "values": [ - "x86", - "sparc", - "ppc", - "mips", - "tricore", - "s390", - "riscv", - "other" - ] - }, { "name": "383", "members": [ { - "name": "pc", - "type": "int" + "name": "filename", + "type": "str" + }, + { + "name": "refresh", + "default": null, + "type": "bool" } ], "meta-type": "object" @@ -23508,12 +23713,8 @@ "name": "384", "members": [ { - "name": "pc", - "type": "int" - }, - { - "name": "npc", - "type": "int" + "name": "service", + "type": "str" } ], "meta-type": "object" @@ -23522,8 +23723,8 @@ "name": "385", "members": [ { - "name": "nip", - "type": "int" + "name": "identity", + "type": "str" } ], "meta-type": "object" @@ -23532,8 +23733,12 @@ "name": "386", "members": [ { - "name": "PC", - "type": "int" + "name": "if", + "type": "str" + }, + { + "name": "canbus", + "type": "str" } ], "meta-type": "object" @@ -23542,8 +23747,45 @@ "name": "387", "members": [ { - "name": "PC", + "name": "primary_in", + "type": "str" + }, + { + "name": "secondary_in", + "type": "str" + }, + { + "name": "outdev", + "type": "str" + }, + { + "name": "iothread", + "type": "str" + }, + { + "name": "notify_dev", + "default": null, + "type": "str" + }, + { + "name": "compare_timeout", + "default": null, + "type": "int" + }, + { + "name": "expired_scan_cycle", + "default": null, + "type": "int" + }, + { + "name": "max_queue_size", + "default": null, "type": "int" + }, + { + "name": "vnet_hdr_support", + "default": null, + "type": "bool" } ], "meta-type": "object" @@ -23552,8 +23794,9 @@ "name": "388", "members": [ { - "name": "cpu-state", - "type": "507" + "name": "queues", + "default": null, + "type": "int" } ], "meta-type": "object" @@ -23562,20 +23805,1052 @@ "name": "389", "members": [ { - "name": "pc", + "name": "queues", + "default": null, "type": "int" + }, + { + "name": "chardev", + "type": "str" } ], "meta-type": "object" }, { "name": "390", - "meta-type": "enum", - "values": [ - "aarch64", - "alpha", - "arm", - "avr", + "members": [ + { + "name": "addr", + "type": "str" + }, + { + "name": "id-list", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "391", + "members": [ + { + "name": "netdev", + "type": "str" + }, + { + "name": "queue", + "default": null, + "type": "544" + }, + { + "name": "status", + "default": null, + "type": "str" + }, + { + "name": "position", + "default": null, + "type": "str" + }, + { + "name": "insert", + "default": null, + "type": "545" + }, + { + "name": "interval", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "392", + "members": [ + { + "name": "netdev", + "type": "str" + }, + { + "name": "queue", + "default": null, + "type": "544" + }, + { + "name": "status", + "default": null, + "type": "str" + }, + { + "name": "position", + "default": null, + "type": "str" + }, + { + "name": "insert", + "default": null, + "type": "545" + }, + { + "name": "file", + "type": "str" + }, + { + "name": "maxlen", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "393", + "members": [ + { + "name": "netdev", + "type": "str" + }, + { + "name": "queue", + "default": null, + "type": "544" + }, + { + "name": "status", + "default": null, + "type": "str" + }, + { + "name": "position", + "default": null, + "type": "str" + }, + { + "name": "insert", + "default": null, + "type": "545" + }, + { + "name": "outdev", + "type": "str" + }, + { + "name": "vnet_hdr_support", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "394", + "members": [ + { + "name": "netdev", + "type": "str" + }, + { + "name": "queue", + "default": null, + "type": "544" + }, + { + "name": "status", + "default": null, + "type": "str" + }, + { + "name": "position", + "default": null, + "type": "str" + }, + { + "name": "insert", + "default": null, + "type": "545" + }, + { + "name": "indev", + "default": null, + "type": "str" + }, + { + "name": "outdev", + "default": null, + "type": "str" + }, + { + "name": "vnet_hdr_support", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "395", + "members": [ + { + "name": "netdev", + "type": "str" + }, + { + "name": "queue", + "default": null, + "type": "544" + }, + { + "name": "status", + "default": null, + "type": "str" + }, + { + "name": "position", + "default": null, + "type": "str" + }, + { + "name": "insert", + "default": null, + "type": "545" + } + ], + "meta-type": "object" + }, + { + "name": "396", + "members": [ + { + "name": "netdev", + "type": "str" + }, + { + "name": "queue", + "default": null, + "type": "544" + }, + { + "name": "status", + "default": null, + "type": "str" + }, + { + "name": "position", + "default": null, + "type": "str" + }, + { + "name": "insert", + "default": null, + "type": "545" + }, + { + "name": "vnet_hdr_support", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "397", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "server", + "default": null, + "type": "str" + }, + { + "name": "port", + "default": null, + "type": "str" + }, + { + "name": "x-origin", + "default": null, + "type": "str" + }, + { + "name": "y-origin", + "default": null, + "type": "str" + }, + { + "name": "width", + "default": null, + "type": "str" + }, + { + "name": "height", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "398", + "members": [ + { + "name": "evdev", + "type": "str" + }, + { + "name": "grab_all", + "default": null, + "type": "bool" + }, + { + "name": "repeat", + "default": null, + "type": "bool" + }, + { + "name": "grab-toggle", + "default": null, + "type": "546" + } + ], + "meta-type": "object" + }, + { + "name": "399", + "members": [ + { + "name": "poll-max-ns", + "default": null, + "type": "int" + }, + { + "name": "poll-grow", + "default": null, + "type": "int" + }, + { + "name": "poll-shrink", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "400", + "members": [ + { + "name": "dump", + "default": null, + "type": "bool" + }, + { + "name": "host-nodes", + "default": null, + "type": "[int]" + }, + { + "name": "merge", + "default": null, + "type": "bool" + }, + { + "name": "policy", + "default": null, + "type": "426" + }, + { + "name": "prealloc", + "default": null, + "type": "bool" + }, + { + "name": "prealloc-threads", + "default": null, + "type": "int" + }, + { + "name": "share", + "default": null, + "type": "bool" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "x-use-canonical-path-for-ramblock-id", + "default": null, + "type": "bool" + }, + { + "name": "align", + "default": null, + "type": "int" + }, + { + "name": "discard-data", + "default": null, + "type": "bool" + }, + { + "name": "mem-path", + "type": "str" + }, + { + "name": "pmem", + "default": null, + "type": "bool" + }, + { + "name": "readonly", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "401", + "members": [ + { + "name": "dump", + "default": null, + "type": "bool" + }, + { + "name": "host-nodes", + "default": null, + "type": "[int]" + }, + { + "name": "merge", + "default": null, + "type": "bool" + }, + { + "name": "policy", + "default": null, + "type": "426" + }, + { + "name": "prealloc", + "default": null, + "type": "bool" + }, + { + "name": "prealloc-threads", + "default": null, + "type": "int" + }, + { + "name": "share", + "default": null, + "type": "bool" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "x-use-canonical-path-for-ramblock-id", + "default": null, + "type": "bool" + }, + { + "name": "hugetlb", + "default": null, + "type": "bool" + }, + { + "name": "hugetlbsize", + "default": null, + "type": "int" + }, + { + "name": "seal", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "402", + "members": [ + { + "name": "dump", + "default": null, + "type": "bool" + }, + { + "name": "host-nodes", + "default": null, + "type": "[int]" + }, + { + "name": "merge", + "default": null, + "type": "bool" + }, + { + "name": "policy", + "default": null, + "type": "426" + }, + { + "name": "prealloc", + "default": null, + "type": "bool" + }, + { + "name": "prealloc-threads", + "default": null, + "type": "int" + }, + { + "name": "share", + "default": null, + "type": "bool" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "x-use-canonical-path-for-ramblock-id", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "403", + "members": [ + { + "name": "path", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "404", + "members": [ + { + "name": "opened", + "default": null, + "type": "bool", + "features": [ + "deprecated" + ] + } + ], + "meta-type": "object" + }, + { + "name": "405", + "members": [ + { + "name": "opened", + "default": null, + "type": "bool", + "features": [ + "deprecated" + ] + }, + { + "name": "chardev", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "406", + "members": [ + { + "name": "opened", + "default": null, + "type": "bool", + "features": [ + "deprecated" + ] + }, + { + "name": "filename", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "407", + "members": [ + { + "name": "loaded", + "default": null, + "type": "bool", + "features": [ + "deprecated" + ] + }, + { + "name": "format", + "default": null, + "type": "547" + }, + { + "name": "keyid", + "default": null, + "type": "str" + }, + { + "name": "iv", + "default": null, + "type": "str" + }, + { + "name": "data", + "default": null, + "type": "str" + }, + { + "name": "file", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "408", + "members": [ + { + "name": "loaded", + "default": null, + "type": "bool", + "features": [ + "deprecated" + ] + }, + { + "name": "format", + "default": null, + "type": "547" + }, + { + "name": "keyid", + "default": null, + "type": "str" + }, + { + "name": "iv", + "default": null, + "type": "str" + }, + { + "name": "serial", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "410", + "members": [ + { + "name": "limits", + "default": null, + "type": "548" + }, + { + "name": "x-iops-total", + "default": null, + "type": "int" + }, + { + "name": "x-iops-total-max", + "default": null, + "type": "int" + }, + { + "name": "x-iops-total-max-length", + "default": null, + "type": "int" + }, + { + "name": "x-iops-read", + "default": null, + "type": "int" + }, + { + "name": "x-iops-read-max", + "default": null, + "type": "int" + }, + { + "name": "x-iops-read-max-length", + "default": null, + "type": "int" + }, + { + "name": "x-iops-write", + "default": null, + "type": "int" + }, + { + "name": "x-iops-write-max", + "default": null, + "type": "int" + }, + { + "name": "x-iops-write-max-length", + "default": null, + "type": "int" + }, + { + "name": "x-bps-total", + "default": null, + "type": "int" + }, + { + "name": "x-bps-total-max", + "default": null, + "type": "int" + }, + { + "name": "x-bps-total-max-length", + "default": null, + "type": "int" + }, + { + "name": "x-bps-read", + "default": null, + "type": "int" + }, + { + "name": "x-bps-read-max", + "default": null, + "type": "int" + }, + { + "name": "x-bps-read-max-length", + "default": null, + "type": "int" + }, + { + "name": "x-bps-write", + "default": null, + "type": "int" + }, + { + "name": "x-bps-write-max", + "default": null, + "type": "int" + }, + { + "name": "x-bps-write-max-length", + "default": null, + "type": "int" + }, + { + "name": "x-iops-size", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "411", + "members": [ + { + "name": "verify-peer", + "default": null, + "type": "bool" + }, + { + "name": "dir", + "default": null, + "type": "str" + }, + { + "name": "endpoint", + "default": null, + "type": "549" + }, + { + "name": "priority", + "default": null, + "type": "str" + }, + { + "name": "loaded", + "default": null, + "type": "bool", + "features": [ + "deprecated" + ] + } + ], + "meta-type": "object" + }, + { + "name": "412", + "members": [ + { + "name": "verify-peer", + "default": null, + "type": "bool" + }, + { + "name": "dir", + "default": null, + "type": "str" + }, + { + "name": "endpoint", + "default": null, + "type": "549" + }, + { + "name": "priority", + "default": null, + "type": "str" + }, + { + "name": "loaded", + "default": null, + "type": "bool", + "features": [ + "deprecated" + ] + }, + { + "name": "username", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "413", + "members": [ + { + "name": "verify-peer", + "default": null, + "type": "bool" + }, + { + "name": "dir", + "default": null, + "type": "str" + }, + { + "name": "endpoint", + "default": null, + "type": "549" + }, + { + "name": "priority", + "default": null, + "type": "str" + }, + { + "name": "loaded", + "default": null, + "type": "bool", + "features": [ + "deprecated" + ] + }, + { + "name": "sanity-check", + "default": null, + "type": "bool" + }, + { + "name": "passwordid", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "414", + "members": [ + { + "name": "verify-peer", + "default": null, + "type": "bool" + }, + { + "name": "dir", + "default": null, + "type": "str" + }, + { + "name": "endpoint", + "default": null, + "type": "549" + }, + { + "name": "priority", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "415", + "members": [ + { + "name": "fd", + "type": "str" + }, + { + "name": "devid", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "416", + "members": [ + { + "name": "node-id", + "default": null, + "type": "int" + }, + { + "name": "socket-id", + "default": null, + "type": "int" + }, + { + "name": "die-id", + "default": null, + "type": "int" + }, + { + "name": "core-id", + "default": null, + "type": "int" + }, + { + "name": "thread-id", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "417", + "meta-type": "enum", + "values": [ + "x86", + "sparc", + "ppc", + "mips", + "tricore", + "s390", + "riscv", + "other" + ] + }, + { + "name": "418", + "members": [ + { + "name": "pc", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "419", + "members": [ + { + "name": "pc", + "type": "int" + }, + { + "name": "npc", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "420", + "members": [ + { + "name": "nip", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "421", + "members": [ + { + "name": "PC", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "422", + "members": [ + { + "name": "PC", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "423", + "members": [ + { + "name": "cpu-state", + "type": "550" + } + ], + "meta-type": "object" + }, + { + "name": "424", + "members": [ + { + "name": "pc", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "425", + "meta-type": "enum", + "values": [ + "aarch64", + "alpha", + "arm", + "avr", "cris", "hppa", "i386", @@ -23608,7 +24883,7 @@ ] }, { - "name": "391", + "name": "426", "meta-type": "enum", "values": [ "default", @@ -23618,7 +24893,7 @@ ] }, { - "name": "392", + "name": "427", "meta-type": "enum", "values": [ "node", @@ -23629,7 +24904,7 @@ ] }, { - "name": "393", + "name": "428", "members": [ { "name": "nodeid", @@ -23660,7 +24935,7 @@ "meta-type": "object" }, { - "name": "394", + "name": "429", "members": [ { "name": "src", @@ -23678,7 +24953,7 @@ "meta-type": "object" }, { - "name": "395", + "name": "430", "members": [ { "name": "node-id", @@ -23709,7 +24984,7 @@ "meta-type": "object" }, { - "name": "396", + "name": "431", "members": [ { "name": "initiator", @@ -23721,11 +24996,11 @@ }, { "name": "hierarchy", - "type": "508" + "type": "551" }, { "name": "data-type", - "type": "509" + "type": "552" }, { "name": "latency", @@ -23741,7 +25016,7 @@ "meta-type": "object" }, { - "name": "397", + "name": "432", "members": [ { "name": "node-id", @@ -23757,11 +25032,11 @@ }, { "name": "associativity", - "type": "510" + "type": "553" }, { "name": "policy", - "type": "511" + "type": "554" }, { "name": "line", @@ -23771,7 +25046,7 @@ "meta-type": "object" }, { - "name": "398", + "name": "433", "meta-type": "enum", "values": [ "dimm", @@ -23781,37 +25056,37 @@ ] }, { - "name": "399", + "name": "434", "members": [ { "name": "data", - "type": "512" + "type": "555" } ], "meta-type": "object" }, { - "name": "400", + "name": "435", "members": [ { "name": "data", - "type": "513" + "type": "556" } ], "meta-type": "object" }, { - "name": "401", + "name": "436", "members": [ { "name": "data", - "type": "514" + "type": "557" } ], "meta-type": "object" }, { - "name": "402", + "name": "437", "members": [ { "name": "name", @@ -23826,7 +25101,7 @@ "meta-type": "object" }, { - "name": "403", + "name": "438", "meta-type": "enum", "values": [ "incompatible", @@ -23836,7 +25111,7 @@ ] }, { - "name": "404", + "name": "439", "meta-type": "enum", "values": [ "static", @@ -23844,7 +25119,7 @@ ] }, { - "name": "405", + "name": "440", "meta-type": "enum", "values": [ "none", @@ -23853,7 +25128,7 @@ ] }, { - "name": "406", + "name": "441", "meta-type": "enum", "values": [ "block-node", @@ -23862,7 +25137,7 @@ ] }, { - "name": "407", + "name": "442", "members": [ { "name": "node-name", @@ -23872,7 +25147,7 @@ "meta-type": "object" }, { - "name": "408", + "name": "443", "members": [ { "name": "id", @@ -23882,12 +25157,12 @@ "meta-type": "object" }, { - "name": "[409]", - "element-type": "409", + "name": "[444]", + "element-type": "444", "meta-type": "array" }, { - "name": "409", + "name": "444", "members": [ { "name": "fd", @@ -23902,12 +25177,12 @@ "meta-type": "object" }, { - "name": "[410]", - "element-type": "410", + "name": "[445]", + "element-type": "445", "meta-type": "array" }, { - "name": "410", + "name": "445", "members": [ { "name": "name", @@ -23915,7 +25190,7 @@ }, { "name": "type", - "type": "515" + "type": "558" }, { "name": "help", @@ -23931,7 +25206,7 @@ "meta-type": "object" }, { - "name": "411", + "name": "446", "meta-type": "enum", "values": [ "uninit", @@ -23943,7 +25218,7 @@ ] }, { - "name": "412", + "name": "447", "meta-type": "enum", "values": [ "DIMM", @@ -23951,12 +25226,12 @@ ] }, { - "name": "[413]", - "element-type": "413", + "name": "[448]", + "element-type": "448", "meta-type": "array" }, { - "name": "413", + "name": "448", "members": [ { "name": "bus", @@ -23972,11 +25247,11 @@ }, { "name": "class_info", - "type": "516" + "type": "559" }, { "name": "id", - "type": "517" + "type": "560" }, { "name": "irq", @@ -23994,17 +25269,17 @@ { "name": "pci_bridge", "default": null, - "type": "518" + "type": "561" }, { "name": "regions", - "type": "[519]" + "type": "[562]" } ], "meta-type": "object" }, { - "name": "414", + "name": "449", "meta-type": "enum", "values": [ "hyper-v", @@ -24012,7 +25287,7 @@ ] }, { - "name": "415", + "name": "450", "members": [ { "name": "arg1", @@ -24038,7 +25313,7 @@ "meta-type": "object" }, { - "name": "416", + "name": "451", "members": [ { "name": "core", @@ -24054,13 +25329,13 @@ }, { "name": "reason", - "type": "520" + "type": "563" } ], "meta-type": "object" }, { - "name": "417", + "name": "452", "meta-type": "enum", "values": [ "active", @@ -24071,12 +25346,12 @@ ] }, { - "name": "[418]", - "element-type": "418", + "name": "[453]", + "element-type": "453", "meta-type": "array" }, { - "name": "418", + "name": "453", "members": [ { "name": "interval_length", @@ -24130,7 +25405,7 @@ "meta-type": "object" }, { - "name": "419", + "name": "454", "members": [ { "name": "boundaries", @@ -24144,7 +25419,7 @@ "meta-type": "object" }, { - "name": "420", + "name": "455", "members": [ { "name": "discard-nb-ok", @@ -24162,7 +25437,7 @@ "meta-type": "object" }, { - "name": "421", + "name": "456", "members": [ { "name": "completion-errors", @@ -24185,32 +25460,32 @@ "meta-type": "array" }, { - "name": "422", + "name": "457", "tag": "type", "variants": [ { "case": "qcow2", - "type": "522" + "type": "565" }, { "case": "vmdk", - "type": "523" + "type": "566" }, { "case": "luks", - "type": "524" + "type": "567" } ], "members": [ { "name": "type", - "type": "521" + "type": "564" } ], "meta-type": "object" }, { - "name": "423", + "name": "458", "meta-type": "enum", "values": [ "block-backend", @@ -24219,12 +25494,12 @@ ] }, { - "name": "[424]", - "element-type": "424", + "name": "[459]", + "element-type": "459", "meta-type": "array" }, { - "name": "424", + "name": "459", "meta-type": "enum", "values": [ "consistent-read", @@ -24235,7 +25510,7 @@ ] }, { - "name": "425", + "name": "460", "members": [ { "type": "50" @@ -24247,16 +25522,16 @@ "meta-type": "alternate" }, { - "name": "[426]", - "element-type": "426", + "name": "[461]", + "element-type": "461", "meta-type": "array" }, { - "name": "426", + "name": "461", "members": [ { "name": "event", - "type": "525" + "type": "568" }, { "name": "state", @@ -24266,7 +25541,7 @@ { "name": "iotype", "default": null, - "type": "526" + "type": "569" }, { "name": "errno", @@ -24292,16 +25567,16 @@ "meta-type": "object" }, { - "name": "[427]", - "element-type": "427", + "name": "[462]", + "element-type": "462", "meta-type": "array" }, { - "name": "427", + "name": "462", "members": [ { "name": "event", - "type": "525" + "type": "568" }, { "name": "state", @@ -24316,7 +25591,7 @@ "meta-type": "object" }, { - "name": "428", + "name": "463", "meta-type": "enum", "values": [ "auto", @@ -24325,7 +25600,7 @@ ] }, { - "name": "429", + "name": "464", "meta-type": "enum", "values": [ "threads", @@ -24334,7 +25609,7 @@ ] }, { - "name": "430", + "name": "465", "meta-type": "enum", "values": [ "tcp", @@ -24342,7 +25617,7 @@ ] }, { - "name": "431", + "name": "466", "meta-type": "enum", "values": [ "crc32c", @@ -24352,11 +25627,11 @@ ] }, { - "name": "432", + "name": "467", "members": [ { "name": "type", - "type": "527" + "type": "570" }, { "name": "host", @@ -24366,7 +25641,7 @@ "meta-type": "object" }, { - "name": "433", + "name": "468", "members": [ { "type": "50" @@ -24381,62 +25656,62 @@ "meta-type": "alternate" }, { - "name": "434", + "name": "469", "members": [ { - "type": "528" + "type": "571" }, { - "type": "529" + "type": "572" } ], "meta-type": "alternate" }, { - "name": "435", + "name": "470", "tag": "format", "variants": [ { "case": "aes", - "type": "531" + "type": "574" }, { "case": "luks", - "type": "532" + "type": "575" } ], "members": [ { "name": "format", - "type": "530" + "type": "573" } ], "meta-type": "object" }, { - "name": "436", + "name": "471", "tag": "format", "variants": [ { "case": "aes", - "type": "531" + "type": "574" } ], "members": [ { "name": "format", - "type": "533" + "type": "576" } ], "meta-type": "object" }, { - "name": "[425]", - "element-type": "425", + "name": "[460]", + "element-type": "460", "meta-type": "array" }, { - "name": "437", + "name": "472", "meta-type": "enum", "values": [ "quorum", @@ -24444,12 +25719,12 @@ ] }, { - "name": "[438]", - "element-type": "438", + "name": "[473]", + "element-type": "473", "meta-type": "array" }, { - "name": "438", + "name": "473", "meta-type": "enum", "values": [ "cephx", @@ -24457,12 +25732,12 @@ ] }, { - "name": "[439]", - "element-type": "439", + "name": "[474]", + "element-type": "474", "meta-type": "array" }, { - "name": "439", + "name": "474", "members": [ { "name": "host", @@ -24476,7 +25751,7 @@ "meta-type": "object" }, { - "name": "440", + "name": "475", "meta-type": "enum", "values": [ "primary", @@ -24484,7 +25759,7 @@ ] }, { - "name": "441", + "name": "476", "members": [ { "name": "host", @@ -24523,12 +25798,12 @@ "meta-type": "object" }, { - "name": "442", + "name": "477", "tag": "mode", "variants": [ { "case": "hash", - "type": "535" + "type": "578" }, { "case": "none", @@ -24542,13 +25817,13 @@ "members": [ { "name": "mode", - "type": "534" + "type": "577" } ], "meta-type": "object" }, { - "name": "443", + "name": "478", "members": [ { "name": "filename", @@ -24561,7 +25836,7 @@ { "name": "preallocation", "default": null, - "type": "536" + "type": "579" }, { "name": "nocow", @@ -24577,7 +25852,7 @@ "meta-type": "object" }, { - "name": "444", + "name": "479", "members": [ { "name": "location", @@ -24590,13 +25865,13 @@ { "name": "preallocation", "default": null, - "type": "536" + "type": "579" } ], "meta-type": "object" }, { - "name": "445", + "name": "480", "members": [ { "name": "key-secret", @@ -24606,27 +25881,27 @@ { "name": "cipher-alg", "default": null, - "type": "537" + "type": "580" }, { "name": "cipher-mode", "default": null, - "type": "538" + "type": "581" }, { "name": "ivgen-alg", "default": null, - "type": "539" + "type": "582" }, { "name": "ivgen-hash-alg", "default": null, - "type": "540" + "type": "583" }, { "name": "hash-alg", "default": null, - "type": "540" + "type": "583" }, { "name": "iter-time", @@ -24635,7 +25910,7 @@ }, { "name": "file", - "type": "425" + "type": "460" }, { "name": "size", @@ -24644,13 +25919,13 @@ { "name": "preallocation", "default": null, - "type": "536" + "type": "579" } ], "meta-type": "object" }, { - "name": "446", + "name": "481", "members": [ { "name": "location", @@ -24664,11 +25939,11 @@ "meta-type": "object" }, { - "name": "447", + "name": "482", "members": [ { "name": "file", - "type": "425" + "type": "460" }, { "name": "size", @@ -24683,11 +25958,11 @@ "meta-type": "object" }, { - "name": "448", + "name": "483", "members": [ { "name": "file", - "type": "425" + "type": "460" }, { "name": "size", @@ -24701,22 +25976,22 @@ { "name": "encrypt", "default": null, - "type": "541" + "type": "584" } ], "meta-type": "object" }, { - "name": "449", + "name": "484", "members": [ { "name": "file", - "type": "425" + "type": "460" }, { "name": "data-file", "default": null, - "type": "425" + "type": "460" }, { "name": "data-file-raw", @@ -24735,7 +26010,7 @@ { "name": "version", "default": null, - "type": "542" + "type": "585" }, { "name": "backing-file", @@ -24750,7 +26025,7 @@ { "name": "encrypt", "default": null, - "type": "541" + "type": "584" }, { "name": "cluster-size", @@ -24760,7 +26035,7 @@ { "name": "preallocation", "default": null, - "type": "536" + "type": "579" }, { "name": "lazy-refcounts", @@ -24775,17 +26050,17 @@ { "name": "compression-type", "default": null, - "type": "543" + "type": "586" } ], "meta-type": "object" }, { - "name": "450", + "name": "485", "members": [ { "name": "file", - "type": "425" + "type": "460" }, { "name": "size", @@ -24815,7 +26090,7 @@ "meta-type": "object" }, { - "name": "451", + "name": "486", "members": [ { "name": "location", @@ -24834,7 +26109,7 @@ "meta-type": "object" }, { - "name": "452", + "name": "487", "members": [ { "name": "location", @@ -24852,12 +26127,12 @@ { "name": "preallocation", "default": null, - "type": "536" + "type": "579" }, { "name": "redundancy", "default": null, - "type": "544" + "type": "587" }, { "name": "object-size", @@ -24868,7 +26143,7 @@ "meta-type": "object" }, { - "name": "453", + "name": "488", "members": [ { "name": "location", @@ -24882,11 +26157,11 @@ "meta-type": "object" }, { - "name": "454", + "name": "489", "members": [ { "name": "file", - "type": "425" + "type": "460" }, { "name": "size", @@ -24895,17 +26170,17 @@ { "name": "preallocation", "default": null, - "type": "536" + "type": "579" } ], "meta-type": "object" }, { - "name": "455", + "name": "490", "members": [ { "name": "file", - "type": "425" + "type": "460" }, { "name": "size", @@ -24924,7 +26199,7 @@ { "name": "subformat", "default": null, - "type": "545" + "type": "588" }, { "name": "block-state-zero", @@ -24935,11 +26210,11 @@ "meta-type": "object" }, { - "name": "456", + "name": "491", "members": [ { "name": "file", - "type": "425" + "type": "460" }, { "name": "size", @@ -24948,12 +26223,12 @@ { "name": "extents", "default": null, - "type": "[425]" + "type": "[460]" }, { "name": "subformat", "default": null, - "type": "546" + "type": "589" }, { "name": "backing-file", @@ -24963,7 +26238,7 @@ { "name": "adapter-type", "default": null, - "type": "547" + "type": "590" }, { "name": "hwversion", @@ -24979,11 +26254,11 @@ "meta-type": "object" }, { - "name": "457", + "name": "492", "members": [ { "name": "file", - "type": "425" + "type": "460" }, { "name": "size", @@ -24992,7 +26267,7 @@ { "name": "subformat", "default": null, - "type": "548" + "type": "591" }, { "name": "force-size", @@ -25003,11 +26278,11 @@ "meta-type": "object" }, { - "name": "458", + "name": "493", "members": [ { "name": "state", - "type": "549" + "type": "592" }, { "name": "new-secret", @@ -25038,12 +26313,12 @@ "meta-type": "object" }, { - "name": "459", + "name": "494", "members": [ { "name": "encrypt", "default": null, - "type": "550" + "type": "593" } ], "meta-type": "object" @@ -25054,7 +26329,7 @@ "meta-type": "builtin" }, { - "name": "460", + "name": "495", "meta-type": "enum", "values": [ "inet", @@ -25064,47 +26339,47 @@ ] }, { - "name": "461", + "name": "496", "members": [ { "name": "data", - "type": "441" + "type": "476" } ], "meta-type": "object" }, { - "name": "462", + "name": "497", "members": [ { "name": "data", - "type": "489" + "type": "524" } ], "meta-type": "object" }, { - "name": "463", + "name": "498", "members": [ { "name": "data", - "type": "490" + "type": "525" } ], "meta-type": "object" }, { - "name": "464", + "name": "499", "members": [ { "name": "data", - "type": "477" + "type": "512" } ], "meta-type": "object" }, { - "name": "465", + "name": "500", "meta-type": "enum", "values": [ "file", @@ -25130,122 +26405,122 @@ ] }, { - "name": "466", + "name": "501", "members": [ { "name": "data", - "type": "551" + "type": "594" } ], "meta-type": "object" }, { - "name": "467", + "name": "502", "members": [ { "name": "data", - "type": "552" + "type": "595" } ], "meta-type": "object" }, { - "name": "468", + "name": "503", "members": [ { "name": "data", - "type": "553" + "type": "596" } ], "meta-type": "object" }, { - "name": "469", + "name": "504", "members": [ { "name": "data", - "type": "554" + "type": "597" } ], "meta-type": "object" }, { - "name": "470", + "name": "505", "members": [ { "name": "data", - "type": "555" + "type": "598" } ], "meta-type": "object" }, { - "name": "471", + "name": "506", "members": [ { "name": "data", - "type": "556" + "type": "599" } ], "meta-type": "object" }, { - "name": "472", + "name": "507", "members": [ { "name": "data", - "type": "557" + "type": "600" } ], "meta-type": "object" }, { - "name": "473", + "name": "508", "members": [ { "name": "data", - "type": "558" + "type": "601" } ], "meta-type": "object" }, { - "name": "474", + "name": "509", "members": [ { "name": "data", - "type": "559" + "type": "602" } ], "meta-type": "object" }, { - "name": "475", + "name": "510", "members": [ { "name": "data", - "type": "560" + "type": "603" } ], "meta-type": "object" }, { - "name": "476", + "name": "511", "members": [ { "name": "data", - "type": "561" + "type": "604" } ], "meta-type": "object" }, { - "name": "[477]", - "element-type": "477", + "name": "[512]", + "element-type": "512", "meta-type": "array" }, { - "name": "477", + "name": "512", "members": [ { "name": "str", @@ -25255,7 +26530,7 @@ "meta-type": "object" }, { - "name": "478", + "name": "513", "meta-type": "enum", "values": [ "passthrough", @@ -25263,27 +26538,27 @@ ] }, { - "name": "479", + "name": "514", "members": [ { "name": "data", - "type": "562" + "type": "605" } ], "meta-type": "object" }, { - "name": "480", + "name": "515", "members": [ { "name": "data", - "type": "563" + "type": "606" } ], "meta-type": "object" }, { - "name": "481", + "name": "516", "meta-type": "enum", "values": [ "number", @@ -25291,7 +26566,7 @@ ] }, { - "name": "482", + "name": "517", "members": [ { "name": "data", @@ -25301,17 +26576,17 @@ "meta-type": "object" }, { - "name": "483", + "name": "518", "members": [ { "name": "data", - "type": "564" + "type": "607" } ], "meta-type": "object" }, { - "name": "484", + "name": "519", "meta-type": "enum", "values": [ "key", @@ -25321,37 +26596,37 @@ ] }, { - "name": "485", + "name": "520", "members": [ { "name": "data", - "type": "565" + "type": "608" } ], "meta-type": "object" }, { - "name": "486", + "name": "521", "members": [ { "name": "data", - "type": "566" + "type": "609" } ], "meta-type": "object" }, { - "name": "487", + "name": "522", "members": [ { "name": "data", - "type": "567" + "type": "610" } ], "meta-type": "object" }, { - "name": "488", + "name": "523", "meta-type": "enum", "values": [ "inet", @@ -25361,7 +26636,7 @@ ] }, { - "name": "489", + "name": "524", "members": [ { "name": "path", @@ -25381,7 +26656,7 @@ "meta-type": "object" }, { - "name": "490", + "name": "525", "members": [ { "name": "cid", @@ -25395,12 +26670,12 @@ "meta-type": "object" }, { - "name": "[491]", - "element-type": "491", + "name": "[526]", + "element-type": "526", "meta-type": "array" }, { - "name": "491", + "name": "526", "members": [ { "name": "name", @@ -25413,13 +26688,13 @@ { "name": "transform", "default": null, - "type": "568" + "type": "611" } ], "meta-type": "object" }, { - "name": "492", + "name": "527", "meta-type": "enum", "values": [ "abort", @@ -25437,17 +26712,17 @@ ] }, { - "name": "493", + "name": "528", "members": [ { "name": "data", - "type": "569" + "type": "612" } ], "meta-type": "object" }, { - "name": "494", + "name": "529", "members": [ { "name": "data", @@ -25457,7 +26732,7 @@ "meta-type": "object" }, { - "name": "495", + "name": "530", "members": [ { "name": "data", @@ -25467,7 +26742,7 @@ "meta-type": "object" }, { - "name": "496", + "name": "531", "members": [ { "name": "data", @@ -25477,7 +26752,7 @@ "meta-type": "object" }, { - "name": "497", + "name": "532", "members": [ { "name": "data", @@ -25487,7 +26762,7 @@ "meta-type": "object" }, { - "name": "498", + "name": "533", "members": [ { "name": "data", @@ -25497,7 +26772,7 @@ "meta-type": "object" }, { - "name": "499", + "name": "534", "members": [ { "name": "data", @@ -25507,7 +26782,7 @@ "meta-type": "object" }, { - "name": "500", + "name": "535", "members": [ { "name": "data", @@ -25517,7 +26792,7 @@ "meta-type": "object" }, { - "name": "501", + "name": "536", "members": [ { "name": "data", @@ -25527,7 +26802,7 @@ "meta-type": "object" }, { - "name": "502", + "name": "537", "meta-type": "enum", "values": [ "individual", @@ -25535,7 +26810,7 @@ ] }, { - "name": "503", + "name": "538", "meta-type": "enum", "values": [ "string", @@ -25549,12 +26824,12 @@ ] }, { - "name": "[504]", - "element-type": "504", + "name": "[539]", + "element-type": "539", "meta-type": "array" }, { - "name": "504", + "name": "539", "members": [ { "name": "name", @@ -25578,41 +26853,219 @@ "meta-type": "object" }, { - "name": "[505]", - "element-type": "505", + "name": "[540]", + "element-type": "540", "meta-type": "array" }, { - "name": "505", + "name": "540", + "members": [ + { + "name": "case", + "type": "str" + }, + { + "name": "type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[541]", + "element-type": "541", + "meta-type": "array" + }, + { + "name": "541", + "members": [ + { + "name": "type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "542", + "meta-type": "enum", + "values": [ + "deny", + "allow" + ] + }, + { + "name": "[543]", + "element-type": "543", + "meta-type": "array" + }, + { + "name": "543", + "members": [ + { + "name": "match", + "type": "str" + }, + { + "name": "policy", + "type": "542" + }, + { + "name": "format", + "default": null, + "type": "613" + } + ], + "meta-type": "object" + }, + { + "name": "544", + "meta-type": "enum", + "values": [ + "all", + "rx", + "tx" + ] + }, + { + "name": "545", + "meta-type": "enum", + "values": [ + "before", + "behind" + ] + }, + { + "name": "546", + "meta-type": "enum", + "values": [ + "ctrl-ctrl", + "alt-alt", + "shift-shift", + "meta-meta", + "scrolllock", + "ctrl-scrolllock" + ] + }, + { + "name": "547", + "meta-type": "enum", + "values": [ + "raw", + "base64" + ] + }, + { + "name": "548", "members": [ { - "name": "case", - "type": "str" + "name": "iops-total", + "default": null, + "type": "int" + }, + { + "name": "iops-total-max", + "default": null, + "type": "int" + }, + { + "name": "iops-total-max-length", + "default": null, + "type": "int" + }, + { + "name": "iops-read", + "default": null, + "type": "int" + }, + { + "name": "iops-read-max", + "default": null, + "type": "int" + }, + { + "name": "iops-read-max-length", + "default": null, + "type": "int" + }, + { + "name": "iops-write", + "default": null, + "type": "int" + }, + { + "name": "iops-write-max", + "default": null, + "type": "int" + }, + { + "name": "iops-write-max-length", + "default": null, + "type": "int" + }, + { + "name": "bps-total", + "default": null, + "type": "int" + }, + { + "name": "bps-total-max", + "default": null, + "type": "int" + }, + { + "name": "bps-total-max-length", + "default": null, + "type": "int" + }, + { + "name": "bps-read", + "default": null, + "type": "int" + }, + { + "name": "bps-read-max", + "default": null, + "type": "int" + }, + { + "name": "bps-read-max-length", + "default": null, + "type": "int" + }, + { + "name": "bps-write", + "default": null, + "type": "int" + }, + { + "name": "bps-write-max", + "default": null, + "type": "int" }, { - "name": "type", - "type": "str" + "name": "bps-write-max-length", + "default": null, + "type": "int" + }, + { + "name": "iops-size", + "default": null, + "type": "int" } ], "meta-type": "object" }, { - "name": "[506]", - "element-type": "506", - "meta-type": "array" - }, - { - "name": "506", - "members": [ - { - "name": "type", - "type": "str" - } - ], - "meta-type": "object" + "name": "549", + "meta-type": "enum", + "values": [ + "client", + "server" + ] }, { - "name": "507", + "name": "550", "meta-type": "enum", "values": [ "uninitialized", @@ -25623,7 +27076,7 @@ ] }, { - "name": "508", + "name": "551", "meta-type": "enum", "values": [ "memory", @@ -25633,7 +27086,7 @@ ] }, { - "name": "509", + "name": "552", "meta-type": "enum", "values": [ "access-latency", @@ -25645,7 +27098,7 @@ ] }, { - "name": "510", + "name": "553", "meta-type": "enum", "values": [ "none", @@ -25654,7 +27107,7 @@ ] }, { - "name": "511", + "name": "554", "meta-type": "enum", "values": [ "none", @@ -25663,7 +27116,7 @@ ] }, { - "name": "512", + "name": "555", "members": [ { "name": "id", @@ -25702,7 +27155,7 @@ "meta-type": "object" }, { - "name": "513", + "name": "556", "members": [ { "name": "id", @@ -25725,7 +27178,7 @@ "meta-type": "object" }, { - "name": "514", + "name": "557", "members": [ { "name": "id", @@ -25764,7 +27217,7 @@ "meta-type": "object" }, { - "name": "515", + "name": "558", "meta-type": "enum", "values": [ "string", @@ -25774,7 +27227,7 @@ ] }, { - "name": "516", + "name": "559", "members": [ { "name": "desc", @@ -25789,7 +27242,7 @@ "meta-type": "object" }, { - "name": "517", + "name": "560", "members": [ { "name": "device", @@ -25813,27 +27266,27 @@ "meta-type": "object" }, { - "name": "518", + "name": "561", "members": [ { "name": "bus", - "type": "570" + "type": "614" }, { "name": "devices", "default": null, - "type": "[413]" + "type": "[448]" } ], "meta-type": "object" }, { - "name": "[519]", - "element-type": "519", + "name": "[562]", + "element-type": "562", "meta-type": "array" }, { - "name": "519", + "name": "562", "members": [ { "name": "bar", @@ -25865,7 +27318,7 @@ "meta-type": "object" }, { - "name": "520", + "name": "563", "meta-type": "enum", "values": [ "unknown", @@ -25876,7 +27329,7 @@ ] }, { - "name": "521", + "name": "564", "meta-type": "enum", "values": [ "qcow2", @@ -25885,37 +27338,37 @@ ] }, { - "name": "522", + "name": "565", "members": [ { "name": "data", - "type": "571" + "type": "615" } ], "meta-type": "object" }, { - "name": "523", + "name": "566", "members": [ { "name": "data", - "type": "572" + "type": "616" } ], "meta-type": "object" }, { - "name": "524", + "name": "567", "members": [ { "name": "data", - "type": "573" + "type": "617" } ], "meta-type": "object" }, { - "name": "525", + "name": "568", "meta-type": "enum", "values": [ "l1_update", @@ -25969,7 +27422,7 @@ ] }, { - "name": "526", + "name": "569", "meta-type": "enum", "values": [ "read", @@ -25981,19 +27434,19 @@ ] }, { - "name": "527", + "name": "570", "meta-type": "enum", "values": [ "inet" ] }, { - "name": "528", + "name": "571", "members": [ { "name": "template", "default": null, - "type": "529" + "type": "572" }, { "name": "main-header", @@ -26044,7 +27497,7 @@ "meta-type": "object" }, { - "name": "529", + "name": "572", "meta-type": "enum", "values": [ "none", @@ -26054,7 +27507,7 @@ ] }, { - "name": "530", + "name": "573", "meta-type": "enum", "values": [ "aes", @@ -26062,7 +27515,7 @@ ] }, { - "name": "531", + "name": "574", "members": [ { "name": "key-secret", @@ -26073,7 +27526,7 @@ "meta-type": "object" }, { - "name": "532", + "name": "575", "members": [ { "name": "key-secret", @@ -26084,14 +27537,14 @@ "meta-type": "object" }, { - "name": "533", + "name": "576", "meta-type": "enum", "values": [ "aes" ] }, { - "name": "534", + "name": "577", "meta-type": "enum", "values": [ "none", @@ -26100,11 +27553,11 @@ ] }, { - "name": "535", + "name": "578", "members": [ { "name": "type", - "type": "574" + "type": "618" }, { "name": "hash", @@ -26114,7 +27567,7 @@ "meta-type": "object" }, { - "name": "536", + "name": "579", "meta-type": "enum", "values": [ "off", @@ -26124,7 +27577,7 @@ ] }, { - "name": "537", + "name": "580", "meta-type": "enum", "values": [ "aes-128", @@ -26142,7 +27595,7 @@ ] }, { - "name": "538", + "name": "581", "meta-type": "enum", "values": [ "ecb", @@ -26152,7 +27605,7 @@ ] }, { - "name": "539", + "name": "582", "meta-type": "enum", "values": [ "plain", @@ -26161,7 +27614,7 @@ ] }, { - "name": "540", + "name": "583", "meta-type": "enum", "values": [ "md5", @@ -26174,28 +27627,28 @@ ] }, { - "name": "541", + "name": "584", "tag": "format", "variants": [ { "case": "qcow", - "type": "531" + "type": "574" }, { "case": "luks", - "type": "576" + "type": "620" } ], "members": [ { "name": "format", - "type": "575" + "type": "619" } ], "meta-type": "object" }, { - "name": "542", + "name": "585", "meta-type": "enum", "values": [ "v2", @@ -26203,35 +27656,35 @@ ] }, { - "name": "543", + "name": "586", "meta-type": "enum", "values": [ "zlib" ] }, { - "name": "544", + "name": "587", "tag": "type", "variants": [ { "case": "full", - "type": "578" + "type": "622" }, { "case": "erasure-coded", - "type": "579" + "type": "623" } ], "members": [ { "name": "type", - "type": "577" + "type": "621" } ], "meta-type": "object" }, { - "name": "545", + "name": "588", "meta-type": "enum", "values": [ "dynamic", @@ -26239,7 +27692,7 @@ ] }, { - "name": "546", + "name": "589", "meta-type": "enum", "values": [ "monolithicSparse", @@ -26250,7 +27703,7 @@ ] }, { - "name": "547", + "name": "590", "meta-type": "enum", "values": [ "ide", @@ -26260,7 +27713,7 @@ ] }, { - "name": "548", + "name": "591", "meta-type": "enum", "values": [ "dynamic", @@ -26268,7 +27721,7 @@ ] }, { - "name": "549", + "name": "592", "meta-type": "enum", "values": [ "active", @@ -26276,12 +27729,12 @@ ] }, { - "name": "550", + "name": "593", "tag": "format", "variants": [ { "case": "luks", - "type": "580" + "type": "624" }, { "case": "qcow", @@ -26291,13 +27744,13 @@ "members": [ { "name": "format", - "type": "575" + "type": "619" } ], "meta-type": "object" }, { - "name": "551", + "name": "594", "members": [ { "name": "logfile", @@ -26327,7 +27780,7 @@ "meta-type": "object" }, { - "name": "552", + "name": "595", "members": [ { "name": "logfile", @@ -26347,7 +27800,7 @@ "meta-type": "object" }, { - "name": "553", + "name": "596", "members": [ { "name": "logfile", @@ -26412,7 +27865,7 @@ "meta-type": "object" }, { - "name": "554", + "name": "597", "members": [ { "name": "logfile", @@ -26437,7 +27890,7 @@ "meta-type": "object" }, { - "name": "555", + "name": "598", "members": [ { "name": "logfile", @@ -26453,7 +27906,7 @@ "meta-type": "object" }, { - "name": "556", + "name": "599", "members": [ { "name": "logfile", @@ -26473,7 +27926,7 @@ "meta-type": "object" }, { - "name": "557", + "name": "600", "members": [ { "name": "logfile", @@ -26494,7 +27947,7 @@ "meta-type": "object" }, { - "name": "558", + "name": "601", "members": [ { "name": "logfile", @@ -26514,7 +27967,7 @@ "meta-type": "object" }, { - "name": "559", + "name": "602", "members": [ { "name": "logfile", @@ -26534,7 +27987,7 @@ "meta-type": "object" }, { - "name": "560", + "name": "603", "members": [ { "name": "logfile", @@ -26570,7 +28023,7 @@ "meta-type": "object" }, { - "name": "561", + "name": "604", "members": [ { "name": "logfile", @@ -26591,7 +28044,7 @@ "meta-type": "object" }, { - "name": "562", + "name": "605", "members": [ { "name": "path", @@ -26607,7 +28060,7 @@ "meta-type": "object" }, { - "name": "563", + "name": "606", "members": [ { "name": "chardev", @@ -26617,7 +28070,7 @@ "meta-type": "object" }, { - "name": "564", + "name": "607", "meta-type": "enum", "values": [ "unmapped", @@ -26771,7 +28224,7 @@ ] }, { - "name": "565", + "name": "608", "members": [ { "name": "key", @@ -26785,11 +28238,11 @@ "meta-type": "object" }, { - "name": "566", + "name": "609", "members": [ { "name": "button", - "type": "581" + "type": "625" }, { "name": "down", @@ -26799,11 +28252,11 @@ "meta-type": "object" }, { - "name": "567", + "name": "610", "members": [ { "name": "axis", - "type": "582" + "type": "626" }, { "name": "value", @@ -26813,7 +28266,7 @@ "meta-type": "object" }, { - "name": "568", + "name": "611", "members": [ { "name": "persistent", @@ -26824,13 +28277,21 @@ "meta-type": "object" }, { - "name": "569", + "name": "612", "members": [ ], "meta-type": "object" }, { - "name": "570", + "name": "613", + "meta-type": "enum", + "values": [ + "exact", + "glob" + ] + }, + { + "name": "614", "members": [ { "name": "number", @@ -26846,21 +28307,21 @@ }, { "name": "io_range", - "type": "583" + "type": "627" }, { "name": "memory_range", - "type": "583" + "type": "627" }, { "name": "prefetchable_range", - "type": "583" + "type": "627" } ], "meta-type": "object" }, { - "name": "571", + "name": "615", "members": [ { "name": "compat", @@ -26898,22 +28359,22 @@ { "name": "encrypt", "default": null, - "type": "584" + "type": "628" }, { "name": "bitmaps", "default": null, - "type": "[585]" + "type": "[629]" }, { "name": "compression-type", - "type": "543" + "type": "586" } ], "meta-type": "object" }, { - "name": "572", + "name": "616", "members": [ { "name": "create-type", @@ -26935,28 +28396,28 @@ "meta-type": "object" }, { - "name": "573", + "name": "617", "members": [ { "name": "cipher-alg", - "type": "537" + "type": "580" }, { "name": "cipher-mode", - "type": "538" + "type": "581" }, { "name": "ivgen-alg", - "type": "539" + "type": "582" }, { "name": "ivgen-hash-alg", "default": null, - "type": "540" + "type": "583" }, { "name": "hash-alg", - "type": "540" + "type": "583" }, { "name": "payload-offset", @@ -26972,13 +28433,13 @@ }, { "name": "slots", - "type": "[586]" + "type": "[630]" } ], "meta-type": "object" }, { - "name": "574", + "name": "618", "meta-type": "enum", "values": [ "md5", @@ -26986,7 +28447,7 @@ ] }, { - "name": "575", + "name": "619", "meta-type": "enum", "values": [ "qcow", @@ -26994,7 +28455,7 @@ ] }, { - "name": "576", + "name": "620", "members": [ { "name": "key-secret", @@ -27004,27 +28465,27 @@ { "name": "cipher-alg", "default": null, - "type": "537" + "type": "580" }, { "name": "cipher-mode", "default": null, - "type": "538" + "type": "581" }, { "name": "ivgen-alg", "default": null, - "type": "539" + "type": "582" }, { "name": "ivgen-hash-alg", "default": null, - "type": "540" + "type": "583" }, { "name": "hash-alg", "default": null, - "type": "540" + "type": "583" }, { "name": "iter-time", @@ -27035,7 +28496,7 @@ "meta-type": "object" }, { - "name": "577", + "name": "621", "meta-type": "enum", "values": [ "full", @@ -27043,7 +28504,7 @@ ] }, { - "name": "578", + "name": "622", "members": [ { "name": "copies", @@ -27053,7 +28514,7 @@ "meta-type": "object" }, { - "name": "579", + "name": "623", "members": [ { "name": "data-strips", @@ -27067,11 +28528,11 @@ "meta-type": "object" }, { - "name": "580", + "name": "624", "members": [ { "name": "state", - "type": "549" + "type": "592" }, { "name": "new-secret", @@ -27102,7 +28563,7 @@ "meta-type": "object" }, { - "name": "581", + "name": "625", "meta-type": "enum", "values": [ "left", @@ -27115,7 +28576,7 @@ ] }, { - "name": "582", + "name": "626", "meta-type": "enum", "values": [ "x", @@ -27123,7 +28584,7 @@ ] }, { - "name": "583", + "name": "627", "members": [ { "name": "base", @@ -27137,12 +28598,12 @@ "meta-type": "object" }, { - "name": "584", + "name": "628", "tag": "format", "variants": [ { "case": "luks", - "type": "573" + "type": "617" }, { "case": "aes", @@ -27152,18 +28613,18 @@ "members": [ { "name": "format", - "type": "530" + "type": "573" } ], "meta-type": "object" }, { - "name": "[585]", - "element-type": "585", + "name": "[629]", + "element-type": "629", "meta-type": "array" }, { - "name": "585", + "name": "629", "members": [ { "name": "name", @@ -27175,7 +28636,7 @@ }, { "name": "flags", - "type": "[587]" + "type": "[631]" } ], "meta-type": "object" @@ -27186,12 +28647,12 @@ "meta-type": "array" }, { - "name": "[586]", - "element-type": "586", + "name": "[630]", + "element-type": "630", "meta-type": "array" }, { - "name": "586", + "name": "630", "members": [ { "name": "active", @@ -27215,12 +28676,12 @@ "meta-type": "object" }, { - "name": "[587]", - "element-type": "587", + "name": "[631]", + "element-type": "631", "meta-type": "array" }, { - "name": "587", + "name": "631", "meta-type": "enum", "values": [ "in-use", @@ -27468,6 +28929,7 @@ "amd-ssbd": true, "xop": false, "ibpb": true, + "ibrs": false, "avx": true, "core-capability": false, "vmx-invept-single-context": false, @@ -27801,6 +29263,7 @@ "amd-ssbd": true, "xop": false, "ibpb": true, + "ibrs": false, "avx": true, "core-capability": false, "vmx-invept-single-context": false, @@ -29635,6 +31098,81 @@ "migration-safe": true, "deprecated": false }, + { + "name": "EPYC-Milan-v1", + "typename": "EPYC-Milan-v1-x86_64-cpu", + "unavailable-features": [ + "fma", + "pcid", + "avx", + "f16c", + "avx2", + "invpcid", + "rdseed", + "sha-ni", + "umip", + "rdpid", + "fsrm", + "fxsr-opt", + "misalignsse", + "3dnowprefetch", + "osvw", + "topoext", + "perfctr-core", + "clzero", + "xsaveerptr", + "wbnoinvd", + "ibpb", + "ibrs", + "amd-stibp", + "amd-ssbd", + "nrip-save", + "svme-addr-chk", + "xsavec", + "xsaves" + ], + "static": false, + "migration-safe": true, + "deprecated": false + }, + { + "name": "EPYC-Milan", + "typename": "EPYC-Milan-x86_64-cpu", + "unavailable-features": [ + "fma", + "pcid", + "avx", + "f16c", + "avx2", + "invpcid", + "rdseed", + "sha-ni", + "umip", + "rdpid", + "fsrm", + "fxsr-opt", + "misalignsse", + "3dnowprefetch", + "osvw", + "topoext", + "perfctr-core", + "clzero", + "xsaveerptr", + "wbnoinvd", + "ibpb", + "ibrs", + "amd-stibp", + "amd-ssbd", + "nrip-save", + "svme-addr-chk", + "xsavec", + "xsaves" + ], + "alias-of": "EPYC-Milan-v1", + "static": false, + "migration-safe": true, + "deprecated": false + }, { "name": "EPYC-IBPB", "typename": "EPYC-IBPB-x86_64-cpu", @@ -30497,6 +32035,7 @@ "amd-ssbd": false, "xop": false, "ibpb": false, + "ibrs": false, "avx": false, "core-capability": false, "vmx-invept-single-context": false, @@ -30830,6 +32369,7 @@ "amd-ssbd": false, "xop": false, "ibpb": false, + "ibrs": false, "avx": false, "core-capability": false, "vmx-invept-single-context": false, diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_6.0.0.x86_64.xml index e7e6254293..ee7e3d117e 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml @@ -257,10 +257,11 @@ + 5002050 0 43100242 - v5.2.0-2208-gc79f01c945 + v5.2.0-2362-g25fa357a8e x86_64 @@ -471,6 +472,7 @@ + @@ -1196,6 +1198,24 @@ + + + + + + + + + + + + + + + + + + @@ -1687,6 +1707,7 @@ + @@ -2749,6 +2770,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + --=20 2.29.2 From nobody Wed May 8 00:22:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1614182416; cv=none; d=zohomail.com; s=zohoarc; b=iP90co6y0+4jTpR1oRCxPgYM3UlxjDc6sJvoyxQknylMt4GYaCeOaogZxMpgJUMFfKWok5+C24TsVXMkV0XAL9CTKjRqGONIvmicNRgeOVZrm6Q+Nj+WbtYI61Yd21gbX96yScK6bzQ0HraS8roOphwnWcrBVR1ICgy9vLxsrTs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1614182416; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=+G6l0U3pxrcr0DJLl+OTCKiJR21W/8AJFubZx5TUK8Q=; b=HuKfb+c8yBlzwPErsGfFabPdpfHl16Y2h1dk53TdntTd4hweAPGdEzJl1EzYzWs54toUaTC2kDnqri+WnCql8IQsGbz9iPAjT1Cvng0tzW1FQE2Gx0SUtT8J5OPDM7izuATSCR7HQiyVF8zL7BwGnhArRrECCcL3f3MN2yttZaU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1614182416365288.23072797968416; Wed, 24 Feb 2021 08:00:16 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-443-giGn_i2SOpS16VrS7PR38A-1; Wed, 24 Feb 2021 10:58:57 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 6C1DADF8C4; Wed, 24 Feb 2021 15:58:44 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 411C3100239A; Wed, 24 Feb 2021 15:58:44 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 0584757DFA; Wed, 24 Feb 2021 15:58:44 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 11OFwOc7010946 for ; Wed, 24 Feb 2021 10:58:24 -0500 Received: by smtp.corp.redhat.com (Postfix) id 9FFAE10016F9; Wed, 24 Feb 2021 15:58:24 +0000 (UTC) Received: from speedmetal.lan (unknown [10.40.208.53]) by smtp.corp.redhat.com (Postfix) with ESMTP id 04FAE1001E73 for ; Wed, 24 Feb 2021 15:58:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1614182414; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=+G6l0U3pxrcr0DJLl+OTCKiJR21W/8AJFubZx5TUK8Q=; b=DZYLb3Lja+5wqwnyp1dZzyRQW7K1hGuA9rL+MBAE9o2jSdkCMrtgh4rRJc2j24lbYxz7F3 DsnH3r0uO67awXaZFDhUP29LC9jDnPXd8LHn+NrYjCrsSbeMsITaJntBPY/l3i0UkaJdkl pk2xQNaATL2CUfk4lU8UbbIs5AaQ8Vg= X-MC-Unique: giGn_i2SOpS16VrS7PR38A-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH v2 12/12] [DON'T PUSH] Force-check all configs with latest capabilities Date: Wed, 24 Feb 2021 16:58:06 +0100 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Hack the qemuxml2argvtest to force-validate everything with latest capabilities. The result is expected: 190) QEMU XML-2-ARGV disk-network-tlsx509-vxhs.x86_64-5.0.0 ... = failed to validate -blockdev '{"driver":"vxhs","tls-creds":"objlibvirt-3-st= orage_tls0","vdisk-id":"eb90327c-8302-4725-9e1b-4e85ed4dc251","server":{"ho= st":"192.168.0.1","port":"9999"},"node-name":"libvirt-3-storage","cache":{"= direct":true,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' ag= ainst QAPI schema: { ERROR: variant 'vxhs' for discriminator 'driver' not found FAILED 1036) QEMU XML-2-ARGV launch-security-sev.x86_64-2.12.0 ...= failed to validate -object '{"qom-type":"sev-guest","id":"sev0","cbitpos":= 47,"reduced-phys-bits":1,"policy":1,"dh-cert-file":"/tmp/lib/domain--1-QEMU= Guest1/dh_cert.base64","session-file":"/tmp/lib/domain--1-QEMUGuest1/sessio= n.base64"}' against QAPI schema: { ERROR: variant 'sev-guest' for discriminator 'qom-type' not found FAILED 1037) QEMU XML-2-ARGV launch-security-sev-missing-platform-info.x86_64-2.12= .0 ... failed to validate -object '{"qom-type":"sev-guest","id":"sev0","cbi= tpos":47,"reduced-phys-bits":1,"policy":1,"dh-cert-file":"/tmp/lib/domain--= 1-QEMUGuest1/dh_cert.base64","session-file":"/tmp/lib/domain--1-QEMUGuest1/= session.base64"}' against QAPI schema: { ERROR: variant 'sev-guest' for discriminator 'qom-type' not found FAILED 'vxhs' was deprecated/removed and is also not an '-object' and 'sev-guest' was not enabled on the box I used for generating the capabilities. --- tests/qemuxml2argvtest.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index a5e40c218a..1c4ba16bbf 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -529,8 +529,8 @@ testCompareXMLToArgvValidateSchema(virQEMUDriverPtr drv, bool netdevQAPIfied =3D false; bool objectQAPIfied =3D false; - /* comment out with line comment to enable schema checking for non _CA= PS tests - if (!info->schemafile) +// /* comment out with line comment to enable schema checking for non _= CAPS tests +// if (!info->schemafile) info->schemafile =3D testQemuGetLatestCapsForArch(virArchToString= (info->arch), "replies"); // */ --=20 2.29.2