From nobody Sat Feb 7 11:04:52 2026
Delivered-To: importer@patchew.org
Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28
as permitted sender) client-ip=209.132.183.28;
envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com;
Authentication-Results: mx.zohomail.com;
spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 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=1561626486; cv=none;
d=zoho.com; s=zohoarc;
b=gPFz/VOmDZMpICBX02aTwyg4zwZiYhFev/pQd6Gpyolij7wVu3seGr9UdWyJjnAgx3xLhj45stl8IKvHiLEIJ4w2SZOuVHepcMJgwRbuPVMYn3VDyYnL/BjJnzW4C5vw7Qdw9gBjWe2M1QPP6FGKQ0zgc+beiNYt7S15l+BCWQc=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com;
s=zohoarc;
t=1561626486;
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:ARC-Authentication-Results;
bh=Cgzp4DOw6VDWsLt7MotC+ZNbKrRUDetswAHPzuc67rE=;
b=SPOJ5P3Z2RquL49BXj4CkfQhsbNCMAhFpFktyPujLt5UbvvLvXwHImo5VPD/KQAcjqCogWeDULW4Eu0ccNh+DgVmrQY8XA/M4uh6Ge+7uwgTe5hlqOR5hyXTRKumqrWYURLWc5b812SDbhpljVEdp1sxgXikWuh5Orfd6zL/ick=
ARC-Authentication-Results: i=1; mx.zoho.com;
spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
dmarc=pass header.from= (p=none dis=none)
header.from=
Return-Path:
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by
mx.zohomail.com
with SMTPS id 1561626486930527.8335588340211;
Thu, 27 Jun 2019 02:08:06 -0700 (PDT)
Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com
[10.5.11.15])
(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
(No client certificate requested)
by mx1.redhat.com (Postfix) with ESMTPS id 04C988831F;
Thu, 27 Jun 2019 09:07:38 +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 E5D5B5B68D;
Thu, 27 Jun 2019 09:07:33 +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 86F14206D2;
Thu, 27 Jun 2019 09:07:29 +0000 (UTC)
Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com
[10.5.11.11])
by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
id x5R96BiS032458 for ;
Thu, 27 Jun 2019 05:06:11 -0400
Received: by smtp.corp.redhat.com (Postfix)
id 5EC0D6012D; Thu, 27 Jun 2019 09:06:11 +0000 (UTC)
Received: from localhost.localdomain.com (ovpn-112-68.ams2.redhat.com
[10.36.112.68])
by smtp.corp.redhat.com (Postfix) with ESMTP id 5A9EC6012E;
Thu, 27 Jun 2019 09:06:10 +0000 (UTC)
From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?=
To: libvir-list@redhat.com
Date: Thu, 27 Jun 2019 10:06:02 +0100
Message-Id: <20190627090605.25236-2-berrange@redhat.com>
In-Reply-To: <20190627090605.25236-1-berrange@redhat.com>
References: <20190627090605.25236-1-berrange@redhat.com>
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11
X-loop: libvir-list@redhat.com
Subject: [libvirt] [PATCH v2 1/4] qemu: delete methods which are no longer
supported
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: ,
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Sender: libvir-list-bounces@redhat.com
Errors-To: libvir-list-bounces@redhat.com
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15
X-Greylist: Sender IP whitelisted,
not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]);
Thu, 27 Jun 2019 09:07:59 +0000 (UTC)
The public API entry points will report VIR_ERR_NO_SUPPORT to the
caller when a driver does not provide an implementation of a particular
method.
When deleting methods, leaving the driver API entry point explicitly
set to NULL with an version range comment, allows the hvsupport.html
page to document when the AP was removed.
Signed-off-by: Daniel P. Berrang=C3=A9
---
docs/hvsupport.pl | 25 +++++++++++++++----------
docs/libvirt.css | 2 +-
src/qemu/qemu_driver.c | 33 ++-------------------------------
3 files changed, 18 insertions(+), 42 deletions(-)
diff --git a/docs/hvsupport.pl b/docs/hvsupport.pl
index 2ea245e83a..6023aab222 100755
--- a/docs/hvsupport.pl
+++ b/docs/hvsupport.pl
@@ -234,17 +234,22 @@ foreach my $src (@srcs) {
}
=20
} else {
- if ($line =3D~ m!\s*\.(\w+)\s*=3D\s*(\w+)\s*,?\s*(?:/\*\s*(\d+=
\.\d+\.\d+)\s*(?:\(deprecated:\s*(\d+\.\d+\.\d+)\))?\s*\*/\s*)?$!) {
+ if ($line =3D~ m!\s*\.(\w+)\s*=3D\s*(\w+)\s*,?\s*(?:/\*\s*(\d+=
\.\d+\.\d+)\s*(?:-\s*(\d+\.\d+\.\d+))?\s*\*/\s*)?$!) {
my $api =3D $1;
my $meth =3D $2;
my $vers =3D $3;
- my $depre =3D $4;
+ my $deleted =3D $4;
=20
next if $api eq "no" || $api eq "name";
=20
- die "Method $meth in $src is missing version" unless defin=
ed $vers || $api eq "connectURIProbe";
+ if ($meth eq "NULL" && !defined $deleted) {
+ die "Method impl for $api is NULL, but no deleted vers=
ion is provided";
+ }
+ if ($meth ne "NULL" && defined $deleted) {
+ die "Method impl for $api is non-NULL, but deleted ver=
sion is provided";
+ }
=20
- die "Driver method for $api is NULL in $src" if $meth eq "=
NULL";
+ die "Method $meth in $src is missing version" unless defin=
ed $vers || $api eq "connectURIProbe";
=20
if (!exists($groups{$ingrp}->{apis}->{$api})) {
next if $api =3D~ /\w(Open|Close|URIProbe)/;
@@ -254,7 +259,7 @@ foreach my $src (@srcs) {
=20
$groups{$ingrp}->{drivers}->{$impl}->{$api} =3D {};
$groups{$ingrp}->{drivers}->{$impl}->{$api}->{vers} =3D $v=
ers;
- $groups{$ingrp}->{drivers}->{$impl}->{$api}->{depre} =3D =
$depre;
+ $groups{$ingrp}->{drivers}->{$impl}->{$api}->{deleted} =
=3D $deleted;
if ($api eq "domainMigratePrepare" ||
$api eq "domainMigratePrepare2" ||
$api eq "domainMigratePrepare3") {
@@ -351,9 +356,9 @@ print <
This page documents which libvirt calls work on
which libvirt drivers / hypervisors, and which version the API appeared
-in. If a hypervisor driver deprecated the API, the version when it
-was removed is also mentioned (highlighted in
-dark red).
+in. If a hypervisor driver later dropped support for the API, the version
+when it was removed is also mentioned (highlighted in
+dark red).
=20
EOF
@@ -411,8 +416,8 @@ EOF
if ($groups{$grp}->{drivers}->{$drv}->{$field}->{vers}) {
print $groups{$grp}->{drivers}->{$drv}->{$field}->{ver=
s};
}
- if ($groups{$grp}->{drivers}->{$drv}->{$field}->{depre}) {
- print " - ", $groups{$g=
rp}->{drivers}->{$drv}->{$field}->{depre}, "";
+ if ($groups{$grp}->{drivers}->{$drv}->{$field}->{deleted})=
{
+ print " - ", $groups{$grp}=
->{drivers}->{$drv}->{$field}->{deleted}, "";
}
}
print "\n";
diff --git a/docs/libvirt.css b/docs/libvirt.css
index 6639b1df64..8309f7a386 100644
--- a/docs/libvirt.css
+++ b/docs/libvirt.css
@@ -588,7 +588,7 @@ td.enumvalue {
display: inline;
}
=20
-.deprecatedhv {
+.deletedhv {
color: darkred;
}
=20
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index d6ab134196..ef2e980216 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -7316,22 +7316,6 @@ static char
}
=20
=20
-static char *
-qemuConnectDomainXMLFromNative(virConnectPtr conn,
- const char *format ATTRIBUTE_UNUSED,
- const char *config ATTRIBUTE_UNUSED,
- unsigned int flags)
-{
- virCheckFlags(0, NULL);
-
- if (virConnectDomainXMLFromNativeEnsureACL(conn) < 0)
- return NULL;
-
- virReportError(VIR_ERR_DEPRECATED, "%s",
- _("converting arbitrary QEMU command lines to libvirt d=
omain XML is no longer supported"));
- return NULL;
-}
-
static char *qemuConnectDomainXMLToNative(virConnectPtr conn,
const char *format,
const char *xmlData,
@@ -16772,19 +16756,6 @@ static int qemuDomainQemuMonitorCommand(virDomainP=
tr domain, const char *cmd,
}
=20
=20
-static virDomainPtr
-qemuDomainQemuAttach(virConnectPtr conn ATTRIBUTE_UNUSED,
- unsigned int pid_value ATTRIBUTE_UNUSED,
- unsigned int flags)
-{
- virCheckFlags(0, NULL);
-
- virReportError(VIR_ERR_DEPRECATED, "%s",
- _("attaching to a QEMU process started outside of libvi=
rt is no longer supported"));
- return NULL;
-}
-
-
static int
qemuDomainOpenConsole(virDomainPtr dom,
const char *dev_name,
@@ -22271,7 +22242,7 @@ static virHypervisorDriver qemuHypervisorDriver =3D=
{
.domainGetSecurityLabelList =3D qemuDomainGetSecurityLabelList, /* 0.1=
0.0 */
.nodeGetSecurityModel =3D qemuNodeGetSecurityModel, /* 0.6.1 */
.domainGetXMLDesc =3D qemuDomainGetXMLDesc, /* 0.2.0 */
- .connectDomainXMLFromNative =3D qemuConnectDomainXMLFromNative, /* 0.6=
.4 (deprecated: 5.5.0) */
+ .connectDomainXMLFromNative =3D NULL, /* 0.6.4 - 5.5.0 */
.connectDomainXMLToNative =3D qemuConnectDomainXMLToNative, /* 0.6.4 */
.connectListDefinedDomains =3D qemuConnectListDefinedDomains, /* 0.2.0=
*/
.connectNumOfDefinedDomains =3D qemuConnectNumOfDefinedDomains, /* 0.2=
.0 */
@@ -22356,7 +22327,7 @@ static virHypervisorDriver qemuHypervisorDriver =3D=
{
.domainRevertToSnapshot =3D qemuDomainRevertToSnapshot, /* 0.8.0 */
.domainSnapshotDelete =3D qemuDomainSnapshotDelete, /* 0.8.0 */
.domainQemuMonitorCommand =3D qemuDomainQemuMonitorCommand, /* 0.8.3 */
- .domainQemuAttach =3D qemuDomainQemuAttach, /* 0.9.4 (deprecated: 5.5.=
0) */
+ .domainQemuAttach =3D NULL, /* 0.9.4 - 5.5.0 */
.domainQemuAgentCommand =3D qemuDomainQemuAgentCommand, /* 0.10.0 */
.connectDomainQemuMonitorEventRegister =3D qemuConnectDomainQemuMonito=
rEventRegister, /* 1.2.3 */
.connectDomainQemuMonitorEventDeregister =3D qemuConnectDomainQemuMoni=
torEventDeregister, /* 1.2.3 */
--=20
2.21.0
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list