
On Thu, Jun 27, 2019 at 10:06:02 +0100, Daniel Berrange wrote:
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é <berrange@redhat.com> --- 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
[...]
@@ -351,9 +356,9 @@ print <<EOF; <p> This page documents which <a href="html/">libvirt calls</a> 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 -<span class="deprecatedhv">dark red</span>). +in. If a hypervisor driver later dropped support for the API, the version +when it was removed is also mentioned (highlighted in +<span class="deletedhv">dark red</span>). </p>
EOF
[...]
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; }
-.deprecatedhv { +.deletedhv {
I'd prefer "removed" as used in the text paragraph above.
color: darkred; }
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
[...]
@@ -22271,7 +22242,7 @@ static virHypervisorDriver qemuHypervisorDriver = { .domainGetSecurityLabelList = qemuDomainGetSecurityLabelList, /* 0.10.0 */ .nodeGetSecurityModel = qemuNodeGetSecurityModel, /* 0.6.1 */ .domainGetXMLDesc = qemuDomainGetXMLDesc, /* 0.2.0 */ - .connectDomainXMLFromNative = qemuConnectDomainXMLFromNative, /* 0.6.4 (deprecated: 5.5.0) */ + .connectDomainXMLFromNative = NULL, /* 0.6.4 - 5.5.0 */
/home/pipo/libvirt/src/qemu/qemu_driver.c:245020 Bad prefix 'NULL' for API 'connectDomainXMLFromNative', expecting 'qemu' /home/pipo/libvirt/src/qemu/qemu_driver.c:245020 Bad impl name 'NULL' for API 'connectDomainXMLFromNative', expecting 'qemuConnectDomainXMLFromNative' /home/pipo/libvirt/src/qemu/qemu_driver.c:245105 Bad prefix 'NULL' for API 'domainQemuAttach', expecting 'qemu' /home/pipo/libvirt/src/qemu/qemu_driver.c:245105 Bad impl name 'NULL' for API 'domainQemuAttach', expecting 'qemuDomainQemuAttach' make[3]: *** [Makefile:15016: check-driverimpls] Error 1
.connectDomainXMLToNative = qemuConnectDomainXMLToNative, /* 0.6.4 */ .connectListDefinedDomains = qemuConnectListDefinedDomains, /* 0.2.0 */ .connectNumOfDefinedDomains = qemuConnectNumOfDefinedDomains, /* 0.2.0 */
ACK if you make sure that make check/sytax-check passes.