[libvirt] [PATCH 08/24] maint: improve VIR_ERR_NO_SUPPORT usage

Eric Blake eblake at redhat.com
Sat Dec 28 16:11:43 UTC 2013


We weren't very consistent in our use of VIR_ERR_NO_SUPPORT; many
users just passed __FUNCTION__ on, while others passed "%s" to
silence over-eager compilers that warn about __FUNCTION__ not
containing any %.  It's nicer to route all these uses through
a single macro, so that if we ever need to change the reporting,
we can do it in one place.

I verified that 'virsh -c test:///default qemu-monitor-command test foo'
gives the same error message before and after this patch:
error: this function is not supported by the connection driver: virDomainQemuMonitorCommand

Note that in libvirt.c, we were inconsistent on whether virDomain*
API used virLibConnError() (with VIR_FROM_NONE) or virLibDomainError()
(with VIR_FROM_DOMAIN); this patch unifies these errors to all use
VIR_FROM_NONE, on the grounds that it is unlikely that a caller
learning that a call is unimplemented can do anything in particular
with extra knowledge of which error domain it belongs to.

* src/util/virerror.h (virReportUnsupportedError): New macro.
* src/libvirt.c: Use it.
* src/libvirt-qemu.c: Likewise.
* src/libvirt-lxc.c: Likewise.
* src/lxc/lxc_driver.c: Likewise.
* src/security/security_manager.c: Likewise.
* src/util/virinitctl.c: Likewise.

Signed-off-by: Eric Blake <eblake at redhat.com>
---
 src/libvirt-lxc.c               |   2 +-
 src/libvirt-qemu.c              |   7 +-
 src/libvirt.c                   | 612 ++++++++++++++++++++--------------------
 src/lxc/lxc_driver.c            |   2 +-
 src/security/security_manager.c |  46 +--
 src/util/virerror.h             |   5 +
 src/util/virinitctl.c           |   4 +-
 src/xen/xen_driver.c            |   8 +-
 8 files changed, 345 insertions(+), 341 deletions(-)

diff --git a/src/libvirt-lxc.c b/src/libvirt-lxc.c
index e7b4198..5bf5f56 100644
--- a/src/libvirt-lxc.c
+++ b/src/libvirt-lxc.c
@@ -99,7 +99,7 @@ virDomainLxcOpenNamespace(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(conn, VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
diff --git a/src/libvirt-qemu.c b/src/libvirt-qemu.c
index 71148f7..79486fd 100644
--- a/src/libvirt-qemu.c
+++ b/src/libvirt-qemu.c
@@ -105,7 +105,7 @@ virDomainQemuMonitorCommand(virDomainPtr domain, const char *cmd,
         return ret;
     }

-    virLibConnError(conn, VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -180,7 +180,7 @@ virDomainQemuAttach(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(conn, VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -242,9 +242,8 @@ virDomainQemuAgentCommand(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(conn, VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

-    /* Copy to connection error object for back compatibility */
 error:
     virDispatchError(conn);
     return NULL;
diff --git a/src/libvirt.c b/src/libvirt.c
index 587690f..693adbf 100644
--- a/src/libvirt.c
+++ b/src/libvirt.c
@@ -1648,7 +1648,7 @@ virConnectGetVersion(virConnectPtr conn, unsigned long *hvVer)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -1732,7 +1732,7 @@ virConnectGetHostname(virConnectPtr conn)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -1813,7 +1813,7 @@ virConnectGetSysinfo(virConnectPtr conn, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -1853,7 +1853,7 @@ virConnectGetMaxVcpus(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -1900,7 +1900,7 @@ virConnectListDomains(virConnectPtr conn, int *ids, int maxids)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -1935,7 +1935,7 @@ virConnectNumOfDomains(virConnectPtr conn)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -2025,7 +2025,7 @@ virDomainCreateXML(virConnectPtr conn, const char *xmlDesc,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return NULL;
@@ -2099,7 +2099,7 @@ virDomainCreateXMLWithFiles(virConnectPtr conn, const char *xmlDesc,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return NULL;
@@ -2160,7 +2160,7 @@ virDomainLookupByID(virConnectPtr conn, int id)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -2200,7 +2200,7 @@ virDomainLookupByUUID(virConnectPtr conn, const unsigned char *uuid)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -2280,7 +2280,7 @@ virDomainLookupByName(virConnectPtr conn, const char *name)
         return dom;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -2341,7 +2341,7 @@ virDomainDestroy(virDomainPtr domain)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -2408,7 +2408,7 @@ virDomainDestroyFlags(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -2520,7 +2520,7 @@ virDomainSuspend(virDomainPtr domain)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -2569,7 +2569,7 @@ virDomainResume(virDomainPtr domain)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -2638,7 +2638,7 @@ virDomainPMSuspendForDuration(virDomainPtr dom,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -2689,7 +2689,7 @@ virDomainPMWakeup(virDomainPtr dom,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -2754,7 +2754,7 @@ virDomainSave(virDomainPtr domain, const char *to)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -2850,7 +2850,7 @@ virDomainSaveFlags(virDomainPtr domain, const char *to,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -2907,7 +2907,7 @@ virDomainRestore(virConnectPtr conn, const char *from)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -2991,7 +2991,7 @@ virDomainRestoreFlags(virConnectPtr conn, const char *from, const char *dxml,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -3060,7 +3060,7 @@ virDomainSaveImageGetXMLDesc(virConnectPtr conn, const char *file,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -3142,7 +3142,7 @@ virDomainSaveImageDefineXML(virConnectPtr conn, const char *file,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -3234,7 +3234,7 @@ virDomainCoreDump(virDomainPtr domain, const char *to, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -3300,7 +3300,7 @@ virDomainScreenshot(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -3357,7 +3357,7 @@ virDomainShutdown(virDomainPtr domain)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -3421,7 +3421,7 @@ virDomainShutdownFlags(virDomainPtr domain, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -3486,7 +3486,7 @@ virDomainReboot(virDomainPtr domain, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -3537,7 +3537,7 @@ virDomainReset(virDomainPtr domain, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -3694,7 +3694,7 @@ virDomainGetOSType(virDomainPtr domain)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -3743,7 +3743,7 @@ virDomainGetMaxMemory(virDomainPtr domain)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -3797,7 +3797,7 @@ virDomainSetMaxMemory(virDomainPtr domain, unsigned long memory)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -3850,7 +3850,7 @@ virDomainSetMemory(virDomainPtr domain, unsigned long memory)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -3915,7 +3915,7 @@ virDomainSetMemoryFlags(virDomainPtr domain, unsigned long memory,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -3979,7 +3979,7 @@ virDomainSetMemoryStatsPeriod(virDomainPtr domain, int period,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -4080,7 +4080,7 @@ virDomainSetMemoryParameters(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -4166,7 +4166,7 @@ virDomainGetMemoryParameters(virDomainPtr domain,
             goto error;
         return ret;
     }
-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -4225,7 +4225,7 @@ virDomainSetNumaParameters(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -4295,7 +4295,7 @@ virDomainGetNumaParameters(virDomainPtr domain,
             goto error;
         return ret;
     }
-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -4354,7 +4354,7 @@ virDomainSetBlkioParameters(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -4431,7 +4431,7 @@ virDomainGetBlkioParameters(virDomainPtr domain,
             goto error;
         return ret;
     }
-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -4478,7 +4478,7 @@ virDomainGetInfo(virDomainPtr domain, virDomainInfoPtr info)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -4528,7 +4528,7 @@ virDomainGetState(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -4574,7 +4574,7 @@ virDomainGetControlInfo(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -4634,7 +4634,7 @@ virDomainGetXMLDesc(virDomainPtr domain, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -4690,7 +4690,7 @@ char *virConnectDomainXMLFromNative(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -4746,7 +4746,7 @@ char *virConnectDomainXMLToNative(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -5440,7 +5440,7 @@ virDomainMigrateDirect(virDomainPtr domain,
                      bandwidth);

     if (!domain->conn->driver->domainMigratePerform) {
-        virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+        virReportUnsupportedError();
         virDispatchError(domain->conn);
         return -1;
     }
@@ -5645,7 +5645,7 @@ virDomainMigrate(virDomainPtr domain,
             ddomain = virDomainLookupByName(dconn, dname ? dname : domain->name);
         } else {
             /* This driver does not support peer to peer migration */
-            virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+            virReportUnsupportedError();
             goto error;
         }
     } else {
@@ -5692,7 +5692,7 @@ virDomainMigrate(virDomainPtr domain,
                                                dname, uri, bandwidth);
         } else {
             /* This driver does not support any migration method */
-            virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+            virReportUnsupportedError();
             goto error;
         }
     }
@@ -5882,7 +5882,7 @@ virDomainMigrate2(virDomainPtr domain,
             ddomain = virDomainLookupByName(dconn, dname ? dname : domain->name);
         } else {
             /* This driver does not support peer to peer migration */
-            virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+            virReportUnsupportedError();
             goto error;
         }
     } else {
@@ -5939,7 +5939,7 @@ virDomainMigrate2(virDomainPtr domain,
                                                dname, uri, bandwidth);
         } else {
             /* This driver does not support any migration method */
-            virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+            virReportUnsupportedError();
             goto error;
         }
     }
@@ -6141,7 +6141,7 @@ virDomainMigrate3(virDomainPtr domain,
                                            dname, uri, bandwidth);
     } else {
         /* This driver does not support any migration method */
-        virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+        virReportUnsupportedError();
         goto error;
     }

@@ -6280,7 +6280,7 @@ virDomainMigrateToURI(virDomainPtr domain,
                 goto error;
         } else {
             /* No peer to peer migration supported */
-            virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+            virReportUnsupportedError();
             goto error;
         }
     } else {
@@ -6435,7 +6435,7 @@ virDomainMigrateToURI2(virDomainPtr domain,
                 goto error;
         } else {
             /* No peer to peer migration supported */
-            virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+            virReportUnsupportedError();
             goto error;
         }
     } else {
@@ -6655,7 +6655,7 @@ virDomainMigratePrepare(virConnectPtr dconn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dconn);
@@ -6706,7 +6706,7 @@ virDomainMigratePerform(virDomainPtr domain,
         return ret;
     }

-    virLibDomainError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -6753,7 +6753,7 @@ virDomainMigrateFinish(virConnectPtr dconn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dconn);
@@ -6805,7 +6805,7 @@ virDomainMigratePrepare2(virConnectPtr dconn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dconn);
@@ -6854,7 +6854,7 @@ virDomainMigrateFinish2(virConnectPtr dconn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dconn);
@@ -6907,7 +6907,7 @@ virDomainMigratePrepareTunnel(virConnectPtr conn,
         return rv;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -6960,7 +6960,7 @@ virDomainMigrateBegin3(virDomainPtr domain,
         return xml;
     }

-    virLibDomainError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -7017,7 +7017,7 @@ virDomainMigratePrepare3(virConnectPtr dconn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dconn);
@@ -7078,7 +7078,7 @@ virDomainMigratePrepareTunnel3(virConnectPtr conn,
         return rv;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -7138,7 +7138,7 @@ virDomainMigratePerform3(virDomainPtr domain,
         return ret;
     }

-    virLibDomainError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -7192,7 +7192,7 @@ virDomainMigrateFinish3(virConnectPtr dconn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dconn);
@@ -7241,7 +7241,7 @@ virDomainMigrateConfirm3(virDomainPtr domain,
         return ret;
     }

-    virLibDomainError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -7293,7 +7293,7 @@ virDomainMigrateBegin3Params(virDomainPtr domain,
         return xml;
     }

-    virLibDomainError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -7346,7 +7346,7 @@ virDomainMigratePrepare3Params(virConnectPtr dconn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dconn);
@@ -7405,7 +7405,7 @@ virDomainMigratePrepareTunnel3Params(virConnectPtr conn,
         return rv;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -7460,7 +7460,7 @@ virDomainMigratePerform3Params(virDomainPtr domain,
         return ret;
     }

-    virLibDomainError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -7512,7 +7512,7 @@ virDomainMigrateFinish3Params(virConnectPtr dconn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dconn);
@@ -7564,7 +7564,7 @@ virDomainMigrateConfirm3Params(virDomainPtr domain,
         return ret;
     }

-    virLibDomainError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -7603,7 +7603,7 @@ virNodeGetInfo(virConnectPtr conn, virNodeInfoPtr info)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -7643,7 +7643,7 @@ virConnectGetCapabilities(virConnectPtr conn)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -7738,7 +7738,7 @@ virNodeGetCPUStats(virConnectPtr conn,
             goto error;
         return ret;
     }
-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -7829,7 +7829,7 @@ virNodeGetMemoryStats(virConnectPtr conn,
             goto error;
         return ret;
     }
-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -7868,7 +7868,7 @@ virNodeGetFreeMemory(virConnectPtr conn)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -7928,7 +7928,7 @@ virNodeSuspendForDuration(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -7993,7 +7993,7 @@ virNodeGetMemoryParameters(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -8060,7 +8060,7 @@ virNodeSetMemoryParameters(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -8102,7 +8102,7 @@ virDomainGetSchedulerType(virDomainPtr domain, int *nparams)
         return schedtype;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -8160,7 +8160,7 @@ virDomainGetSchedulerParameters(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -8244,7 +8244,7 @@ virDomainGetSchedulerParametersFlags(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -8304,7 +8304,7 @@ virDomainSetSchedulerParameters(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -8372,7 +8372,7 @@ virDomainSetSchedulerParametersFlags(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -8440,7 +8440,7 @@ virDomainBlockStats(virDomainPtr dom, const char *disk,
         return 0;
     }

-    virLibDomainError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dom->conn);
@@ -8522,7 +8522,7 @@ virDomainBlockStatsFlags(virDomainPtr dom,
             goto error;
         return ret;
     }
-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dom->conn);
@@ -8588,7 +8588,7 @@ virDomainInterfaceStats(virDomainPtr dom, const char *path,
         return 0;
     }

-    virLibDomainError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dom->conn);
@@ -8656,7 +8656,7 @@ virDomainSetInterfaceParameters(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -8728,7 +8728,7 @@ virDomainGetInterfaceParameters(virDomainPtr domain,
             goto error;
         return ret;
     }
-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -8801,7 +8801,7 @@ virDomainMemoryStats(virDomainPtr dom, virDomainMemoryStatPtr stats,
         return nr_stats_ret;
     }

-    virLibDomainError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dom->conn);
@@ -8895,7 +8895,7 @@ virDomainBlockPeek(virDomainPtr dom,
         return ret;
     }

-    virLibDomainError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dom->conn);
@@ -8964,7 +8964,7 @@ virDomainBlockResize(virDomainPtr dom,
         return ret;
     }

-    virLibDomainError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dom->conn);
@@ -9076,7 +9076,7 @@ virDomainMemoryPeek(virDomainPtr dom,
         return ret;
     }

-    virLibDomainError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dom->conn);
@@ -9132,7 +9132,7 @@ virDomainGetBlockInfo(virDomainPtr domain, const char *disk,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -9189,7 +9189,7 @@ virDomainDefineXML(virConnectPtr conn, const char *xml)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -9240,7 +9240,7 @@ virDomainUndefine(virDomainPtr domain)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -9301,7 +9301,7 @@ virDomainUndefineFlags(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -9338,7 +9338,7 @@ virConnectNumOfDefinedDomains(virConnectPtr conn)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -9389,7 +9389,7 @@ virConnectListDefinedDomains(virConnectPtr conn, char **const names,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -9495,7 +9495,7 @@ virConnectListAllDomains(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -9542,7 +9542,7 @@ virDomainCreate(virDomainPtr domain)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -9611,7 +9611,7 @@ virDomainCreateWithFlags(virDomainPtr domain, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -9693,7 +9693,7 @@ virDomainCreateWithFiles(virDomainPtr domain, unsigned int nfiles,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -9739,7 +9739,7 @@ virDomainGetAutostart(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -9788,7 +9788,7 @@ virDomainSetAutostart(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -9833,7 +9833,7 @@ virDomainInjectNMI(virDomainPtr domain, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -9899,7 +9899,7 @@ virDomainSendKey(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -9978,7 +9978,7 @@ virDomainSendProcessSignal(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -10034,7 +10034,7 @@ virDomainSetVcpus(virDomainPtr domain, unsigned int nvcpus)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -10123,7 +10123,7 @@ virDomainSetVcpusFlags(virDomainPtr domain, unsigned int nvcpus,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -10193,7 +10193,7 @@ virDomainGetVcpusFlags(virDomainPtr domain, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -10261,7 +10261,7 @@ virDomainPinVcpu(virDomainPtr domain, unsigned int vcpu,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -10342,7 +10342,7 @@ virDomainPinVcpuFlags(virDomainPtr domain, unsigned int vcpu,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -10420,7 +10420,7 @@ virDomainGetVcpuPinInfo(virDomainPtr domain, int ncpumaps,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -10495,7 +10495,7 @@ virDomainPinEmulator(virDomainPtr domain, unsigned char *cpumap,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -10562,7 +10562,7 @@ virDomainGetEmulatorPinInfo(virDomainPtr domain, unsigned char *cpumap,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -10639,7 +10639,7 @@ virDomainGetVcpus(virDomainPtr domain, virVcpuInfoPtr info, int maxinfo,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -10684,7 +10684,7 @@ virDomainGetMaxVcpus(virDomainPtr domain)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -10730,7 +10730,7 @@ virDomainGetSecurityLabel(virDomainPtr domain, virSecurityLabelPtr seclabel)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -10778,7 +10778,7 @@ virDomainGetSecurityLabelList(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -10875,7 +10875,7 @@ virDomainSetMetadata(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -10954,7 +10954,7 @@ virDomainGetMetadata(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -10996,7 +10996,7 @@ virNodeGetSecurityModel(virConnectPtr conn, virSecurityModelPtr secmodel)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -11049,7 +11049,7 @@ virDomainAttachDevice(virDomainPtr domain, const char *xml)
        return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -11113,7 +11113,7 @@ virDomainAttachDeviceFlags(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -11162,7 +11162,7 @@ virDomainDetachDevice(virDomainPtr domain, const char *xml)
          return ret;
      }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -11242,7 +11242,7 @@ virDomainDetachDeviceFlags(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -11306,7 +11306,7 @@ virDomainUpdateDeviceFlags(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -11358,7 +11358,7 @@ virNodeGetCellsFreeMemory(virConnectPtr conn, unsigned long long *freeMems,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -11458,7 +11458,7 @@ virConnectListAllNetworks(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -11495,7 +11495,7 @@ virConnectNumOfNetworks(virConnectPtr conn)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -11543,7 +11543,7 @@ virConnectListNetworks(virConnectPtr conn, char **const names, int maxnames)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -11580,7 +11580,7 @@ virConnectNumOfDefinedNetworks(virConnectPtr conn)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -11629,7 +11629,7 @@ virConnectListDefinedNetworks(virConnectPtr conn, char **const names,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -11669,7 +11669,7 @@ virNetworkLookupByName(virConnectPtr conn, const char *name)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -11710,7 +11710,7 @@ virNetworkLookupByUUID(virConnectPtr conn, const unsigned char *uuid)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -11796,7 +11796,7 @@ virNetworkCreateXML(virConnectPtr conn, const char *xmlDesc)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -11839,7 +11839,7 @@ virNetworkDefineXML(virConnectPtr conn, const char *xml)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -11882,7 +11882,7 @@ virNetworkUndefine(virNetworkPtr network)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(network->conn);
@@ -11945,7 +11945,7 @@ virNetworkUpdate(virNetworkPtr network,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(network->conn);
@@ -11989,7 +11989,7 @@ virNetworkCreate(virNetworkPtr network)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(network->conn);
@@ -12036,7 +12036,7 @@ virNetworkDestroy(virNetworkPtr network)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(network->conn);
@@ -12236,7 +12236,7 @@ virNetworkGetXMLDesc(virNetworkPtr network, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(network->conn);
@@ -12278,7 +12278,7 @@ virNetworkGetBridgeName(virNetworkPtr network)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(network->conn);
@@ -12323,7 +12323,7 @@ virNetworkGetAutostart(virNetworkPtr network,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(network->conn);
@@ -12371,7 +12371,7 @@ virNetworkSetAutostart(virNetworkPtr network,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(network->conn);
@@ -12463,7 +12463,7 @@ virConnectListAllInterfaces(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -12500,7 +12500,7 @@ virConnectNumOfInterfaces(virConnectPtr conn)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -12549,7 +12549,7 @@ virConnectListInterfaces(virConnectPtr conn, char **const names, int maxnames)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -12586,7 +12586,7 @@ virConnectNumOfDefinedInterfaces(virConnectPtr conn)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -12637,7 +12637,7 @@ virConnectListDefinedInterfaces(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -12677,7 +12677,7 @@ virInterfaceLookupByName(virConnectPtr conn, const char *name)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -12717,7 +12717,7 @@ virInterfaceLookupByMACString(virConnectPtr conn, const char *macstr)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -12819,7 +12819,7 @@ virInterfaceGetXMLDesc(virInterfacePtr iface, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(iface->conn);
@@ -12873,7 +12873,7 @@ virInterfaceDefineXML(virConnectPtr conn, const char *xml, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -12927,7 +12927,7 @@ virInterfaceUndefine(virInterfacePtr iface)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(iface->conn);
@@ -12976,7 +12976,7 @@ virInterfaceCreate(virInterfacePtr iface, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(iface->conn);
@@ -13030,7 +13030,7 @@ virInterfaceDestroy(virInterfacePtr iface, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(iface->conn);
@@ -13141,7 +13141,7 @@ virInterfaceChangeBegin(virConnectPtr conn, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -13189,7 +13189,7 @@ virInterfaceChangeCommit(virConnectPtr conn, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -13238,7 +13238,7 @@ virInterfaceChangeRollback(virConnectPtr conn, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -13353,7 +13353,7 @@ virConnectListAllStoragePools(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -13390,7 +13390,7 @@ virConnectNumOfStoragePools(virConnectPtr conn)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -13442,7 +13442,7 @@ virConnectListStoragePools(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -13479,7 +13479,7 @@ virConnectNumOfDefinedStoragePools(virConnectPtr conn)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -13531,7 +13531,7 @@ virConnectListDefinedStoragePools(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -13591,7 +13591,7 @@ virConnectFindStoragePoolSources(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -13631,7 +13631,7 @@ virStoragePoolLookupByName(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -13671,7 +13671,7 @@ virStoragePoolLookupByUUID(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -13748,7 +13748,7 @@ virStoragePoolLookupByVolume(virStorageVolPtr vol)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(vol->conn);
@@ -13797,7 +13797,7 @@ virStoragePoolCreateXML(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -13844,7 +13844,7 @@ virStoragePoolDefineXML(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -13892,7 +13892,7 @@ virStoragePoolBuild(virStoragePoolPtr pool,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(pool->conn);
@@ -13935,7 +13935,7 @@ virStoragePoolUndefine(virStoragePoolPtr pool)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(pool->conn);
@@ -13980,7 +13980,7 @@ virStoragePoolCreate(virStoragePoolPtr pool,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(pool->conn);
@@ -14028,7 +14028,7 @@ virStoragePoolDestroy(virStoragePoolPtr pool)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(pool->conn);
@@ -14076,7 +14076,7 @@ virStoragePoolDelete(virStoragePoolPtr pool,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(pool->conn);
@@ -14185,7 +14185,7 @@ virStoragePoolRefresh(virStoragePoolPtr pool,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(pool->conn);
@@ -14322,7 +14322,7 @@ virStoragePoolGetInfo(virStoragePoolPtr pool,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(pool->conn);
@@ -14366,7 +14366,7 @@ virStoragePoolGetXMLDesc(virStoragePoolPtr pool,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(pool->conn);
@@ -14410,7 +14410,7 @@ virStoragePoolGetAutostart(virStoragePoolPtr pool,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(pool->conn);
@@ -14457,7 +14457,7 @@ virStoragePoolSetAutostart(virStoragePoolPtr pool,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(pool->conn);
@@ -14507,7 +14507,7 @@ virStoragePoolListAllVolumes(virStoragePoolPtr pool,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(pool->conn);
@@ -14544,7 +14544,7 @@ virStoragePoolNumOfVolumes(virStoragePoolPtr pool)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(pool->conn);
@@ -14591,7 +14591,7 @@ virStoragePoolListVolumes(virStoragePoolPtr pool,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(pool->conn);
@@ -14663,7 +14663,7 @@ virStorageVolLookupByName(virStoragePoolPtr pool,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(pool->conn);
@@ -14705,7 +14705,7 @@ virStorageVolLookupByKey(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -14746,7 +14746,7 @@ virStorageVolLookupByPath(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -14852,7 +14852,7 @@ virStorageVolCreateXML(virStoragePoolPtr pool,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(pool->conn);
@@ -14919,7 +14919,7 @@ virStorageVolCreateXMLFrom(virStoragePoolPtr pool,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(pool->conn);
@@ -14988,7 +14988,7 @@ virStorageVolDownload(virStorageVolPtr vol,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(vol->conn);
@@ -15059,7 +15059,7 @@ virStorageVolUpload(virStorageVolPtr vol,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(vol->conn);
@@ -15105,7 +15105,7 @@ virStorageVolDelete(virStorageVolPtr vol,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(vol->conn);
@@ -15152,7 +15152,7 @@ virStorageVolWipe(virStorageVolPtr vol,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(vol->conn);
@@ -15202,7 +15202,7 @@ virStorageVolWipePattern(virStorageVolPtr vol,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(vol->conn);
@@ -15308,7 +15308,7 @@ virStorageVolGetInfo(virStorageVolPtr vol,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(vol->conn);
@@ -15351,7 +15351,7 @@ virStorageVolGetXMLDesc(virStorageVolPtr vol,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(vol->conn);
@@ -15396,7 +15396,7 @@ virStorageVolGetPath(virStorageVolPtr vol)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(vol->conn);
@@ -15478,7 +15478,7 @@ virStorageVolResize(virStorageVolPtr vol,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(vol->conn);
@@ -15520,7 +15520,7 @@ virNodeNumOfDevices(virConnectPtr conn, const char *cap, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -15594,7 +15594,7 @@ virConnectListAllNodeDevices(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -15646,7 +15646,7 @@ virNodeListDevices(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -15686,7 +15686,7 @@ virNodeDeviceLookupByName(virConnectPtr conn, const char *name)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -15734,7 +15734,7 @@ virNodeDeviceLookupSCSIHostByWWN(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -15772,7 +15772,7 @@ char *virNodeDeviceGetXMLDesc(virNodeDevicePtr dev, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dev->conn);
@@ -15829,7 +15829,7 @@ const char *virNodeDeviceGetParent(virNodeDevicePtr dev)
         if (dev->conn->nodeDeviceDriver && dev->conn->nodeDeviceDriver->nodeDeviceGetParent) {
             dev->parent = dev->conn->nodeDeviceDriver->nodeDeviceGetParent(dev);
         } else {
-            virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+            virReportUnsupportedError();
             virDispatchError(dev->conn);
             return NULL;
         }
@@ -15867,7 +15867,7 @@ virNodeDeviceNumOfCaps(virNodeDevicePtr dev)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dev->conn);
@@ -15912,7 +15912,7 @@ virNodeDeviceListCaps(virNodeDevicePtr dev,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dev->conn);
@@ -16030,7 +16030,7 @@ virNodeDeviceDettach(virNodeDevicePtr dev)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dev->conn);
@@ -16095,7 +16095,7 @@ virNodeDeviceDetachFlags(virNodeDevicePtr dev,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dev->conn);
@@ -16144,7 +16144,7 @@ virNodeDeviceReAttach(virNodeDevicePtr dev)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dev->conn);
@@ -16195,7 +16195,7 @@ virNodeDeviceReset(virNodeDevicePtr dev)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dev->conn);
@@ -16244,7 +16244,7 @@ virNodeDeviceCreateXML(virConnectPtr conn,
         return dev;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -16290,7 +16290,7 @@ virNodeDeviceDestroy(virNodeDevicePtr dev)
         return 0;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dev->conn);
@@ -16349,7 +16349,7 @@ virConnectDomainEventRegister(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -16393,7 +16393,7 @@ virConnectDomainEventDeregister(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -16459,7 +16459,7 @@ virConnectNumOfSecrets(virConnectPtr conn)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -16527,7 +16527,7 @@ virConnectListAllSecrets(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -16569,7 +16569,7 @@ virConnectListSecrets(virConnectPtr conn, char **uuids, int maxuuids)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -16611,7 +16611,7 @@ virSecretLookupByUUID(virConnectPtr conn, const unsigned char *uuid)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -16698,7 +16698,7 @@ virSecretLookupByUsage(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -16748,7 +16748,7 @@ virSecretDefineXML(virConnectPtr conn, const char *xml, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -16919,7 +16919,7 @@ virSecretGetXMLDesc(virSecretPtr secret, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -16970,7 +16970,7 @@ virSecretSetValue(virSecretPtr secret, const unsigned char *value,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -17019,7 +17019,7 @@ virSecretGetValue(virSecretPtr secret, size_t *value_size, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -17065,7 +17065,7 @@ virSecretUndefine(virSecretPtr secret)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -17298,7 +17298,7 @@ virStreamSend(virStreamPtr stream,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(stream->conn);
@@ -17396,7 +17396,7 @@ virStreamRecv(virStreamPtr stream,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(stream->conn);
@@ -17643,7 +17643,7 @@ virStreamEventAddCallback(virStreamPtr stream,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(stream->conn);
@@ -17686,7 +17686,7 @@ virStreamEventUpdateCallback(virStreamPtr stream,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(stream->conn);
@@ -17724,7 +17724,7 @@ virStreamEventRemoveCallback(virStreamPtr stream)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(stream->conn);
@@ -17769,7 +17769,7 @@ virStreamFinish(virStreamPtr stream)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(stream->conn);
@@ -17816,7 +17816,7 @@ virStreamAbort(virStreamPtr stream)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(stream->conn);
@@ -17886,7 +17886,7 @@ virDomainIsActive(virDomainPtr dom)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(dom->conn);
     return -1;
@@ -17922,7 +17922,7 @@ virDomainIsPersistent(virDomainPtr dom)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(dom->conn);
     return -1;
@@ -17957,7 +17957,7 @@ virDomainIsUpdated(virDomainPtr dom)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(dom->conn);
     return -1;
@@ -17992,7 +17992,7 @@ virNetworkIsActive(virNetworkPtr net)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(net->conn);
     return -1;
@@ -18028,7 +18028,7 @@ virNetworkIsPersistent(virNetworkPtr net)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(net->conn);
     return -1;
@@ -18063,7 +18063,7 @@ virStoragePoolIsActive(virStoragePoolPtr pool)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(pool->conn);
     return -1;
@@ -18099,7 +18099,7 @@ virStoragePoolIsPersistent(virStoragePoolPtr pool)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(pool->conn);
     return -1;
@@ -18135,7 +18135,7 @@ virConnectNumOfNWFilters(virConnectPtr conn)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -18187,7 +18187,7 @@ virConnectListAllNWFilters(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -18229,7 +18229,7 @@ virConnectListNWFilters(virConnectPtr conn, char **const names, int maxnames)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -18269,7 +18269,7 @@ virNWFilterLookupByName(virConnectPtr conn, const char *name)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -18309,7 +18309,7 @@ virNWFilterLookupByUUID(virConnectPtr conn, const unsigned char *uuid)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -18512,7 +18512,7 @@ virNWFilterDefineXML(virConnectPtr conn, const char *xmlDesc)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -18558,7 +18558,7 @@ virNWFilterUndefine(virNWFilterPtr nwfilter)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(nwfilter->conn);
@@ -18601,7 +18601,7 @@ virNWFilterGetXMLDesc(virNWFilterPtr nwfilter, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(nwfilter->conn);
@@ -18672,7 +18672,7 @@ virInterfaceIsActive(virInterfacePtr iface)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(iface->conn);
     return -1;
@@ -18707,7 +18707,7 @@ virConnectIsEncrypted(virConnectPtr conn)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -18746,7 +18746,7 @@ virConnectIsSecure(virConnectPtr conn)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -18788,7 +18788,7 @@ virConnectCompareCPU(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -18839,7 +18839,7 @@ virConnectGetCPUModelNames(virConnectPtr conn, const char *arch, char ***models,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -18898,7 +18898,7 @@ virConnectBaselineCPU(virConnectPtr conn,
         return cpu;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -18947,7 +18947,7 @@ virDomainGetJobInfo(virDomainPtr domain, virDomainJobInfoPtr info)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -19007,7 +19007,7 @@ virDomainGetJobStats(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -19053,7 +19053,7 @@ virDomainAbortJob(virDomainPtr domain)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -19102,7 +19102,7 @@ virDomainMigrateSetMaxDowntime(virDomainPtr domain,
         return 0;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -19148,7 +19148,7 @@ virDomainMigrateGetCompressionCache(virDomainPtr domain,
         return 0;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -19199,7 +19199,7 @@ virDomainMigrateSetCompressionCache(virDomainPtr domain,
         return 0;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -19247,7 +19247,7 @@ virDomainMigrateSetMaxSpeed(virDomainPtr domain,
         return 0;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -19297,7 +19297,7 @@ virDomainMigrateGetMaxSpeed(virDomainPtr domain,
         return 0;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -19378,7 +19378,7 @@ virConnectDomainEventRegisterAny(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -19418,7 +19418,7 @@ virConnectDomainEventDeregisterAny(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -19503,7 +19503,7 @@ virConnectNetworkEventRegisterAny(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -19545,7 +19545,7 @@ virConnectNetworkEventDeregisterAny(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -19618,7 +19618,7 @@ virDomainManagedSave(virDomainPtr dom, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -19664,7 +19664,7 @@ virDomainHasManagedSaveImage(virDomainPtr dom, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -19711,7 +19711,7 @@ virDomainManagedSaveRemove(virDomainPtr dom, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -19958,7 +19958,7 @@ virDomainSnapshotCreateXML(virDomainPtr domain,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return NULL;
@@ -20012,7 +20012,7 @@ virDomainSnapshotGetXMLDesc(virDomainSnapshotPtr snapshot,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return NULL;
@@ -20083,7 +20083,7 @@ virDomainSnapshotNum(virDomainPtr domain, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -20175,7 +20175,7 @@ virDomainSnapshotListNames(virDomainPtr domain, char **names, int nameslen,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -20261,7 +20261,7 @@ virDomainListAllSnapshots(virDomainPtr domain, virDomainSnapshotPtr **snaps,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -20333,7 +20333,7 @@ virDomainSnapshotNumChildren(virDomainSnapshotPtr snapshot, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -20431,7 +20431,7 @@ virDomainSnapshotListChildrenNames(virDomainSnapshotPtr snapshot,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -20520,7 +20520,7 @@ virDomainSnapshotListAllChildren(virDomainSnapshotPtr snapshot,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -20568,7 +20568,7 @@ virDomainSnapshotLookupByName(virDomainPtr domain,
         return dom;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return NULL;
@@ -20608,7 +20608,7 @@ virDomainHasCurrentSnapshot(virDomainPtr domain, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -20652,7 +20652,7 @@ virDomainSnapshotCurrent(virDomainPtr domain,
         return snap;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return NULL;
@@ -20697,7 +20697,7 @@ virDomainSnapshotGetParent(virDomainSnapshotPtr snapshot,
         return snap;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return NULL;
@@ -20741,7 +20741,7 @@ virDomainSnapshotIsCurrent(virDomainSnapshotPtr snapshot,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -20786,7 +20786,7 @@ virDomainSnapshotHasMetadata(virDomainSnapshotPtr snapshot,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -20874,7 +20874,7 @@ virDomainRevertToSnapshot(virDomainSnapshotPtr snapshot,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -20944,7 +20944,7 @@ virDomainSnapshotDelete(virDomainSnapshotPtr snapshot,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -21077,7 +21077,7 @@ virDomainOpenConsole(virDomainPtr dom,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -21140,7 +21140,7 @@ virDomainOpenChannel(virDomainPtr dom,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -21220,7 +21220,7 @@ virDomainBlockJobAbort(virDomainPtr dom, const char *disk,
         return ret;
     }

-    virLibDomainError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dom->conn);
@@ -21277,7 +21277,7 @@ virDomainGetBlockJobInfo(virDomainPtr dom, const char *disk,
         return ret;
     }

-    virLibDomainError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dom->conn);
@@ -21337,7 +21337,7 @@ virDomainBlockJobSetSpeed(virDomainPtr dom, const char *disk,
         return ret;
     }

-    virLibDomainError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dom->conn);
@@ -21411,7 +21411,7 @@ virDomainBlockPull(virDomainPtr dom, const char *disk,
         return ret;
     }

-    virLibDomainError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dom->conn);
@@ -21543,7 +21543,7 @@ virDomainBlockRebase(virDomainPtr dom, const char *disk,
         return ret;
     }

-    virLibDomainError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dom->conn);
@@ -21651,7 +21651,7 @@ virDomainBlockCommit(virDomainPtr dom, const char *disk,
         return ret;
     }

-    virLibDomainError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dom->conn);
@@ -21723,7 +21723,7 @@ virDomainOpenGraphics(virDomainPtr dom,

     if (!VIR_DRV_SUPPORTS_FEATURE(dom->conn->driver, dom->conn,
                                   VIR_DRV_FEATURE_FD_PASSING)) {
-        virLibDomainError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+        virReportUnsupportedError();
         goto error;
     }

@@ -21735,7 +21735,7 @@ virDomainOpenGraphics(virDomainPtr dom,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dom->conn);
@@ -21792,7 +21792,7 @@ virConnectSetKeepAlive(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -21831,7 +21831,7 @@ virConnectIsAlive(virConnectPtr conn)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
 error:
     virDispatchError(conn);
     return -1;
@@ -22029,7 +22029,7 @@ virDomainSetBlockIoTune(virDomainPtr dom,
         return ret;
     }

-    virLibDomainError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dom->conn);
@@ -22119,7 +22119,7 @@ virDomainGetBlockIoTune(virDomainPtr dom,
         return ret;
     }

-    virLibDomainError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dom->conn);
@@ -22266,7 +22266,7 @@ virDomainGetCPUStats(virDomainPtr domain,
         return ret;
     }

-    virLibDomainError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -22332,7 +22332,7 @@ virDomainGetDiskErrors(virDomainPtr dom,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dom->conn);
@@ -22378,7 +22378,7 @@ virDomainGetHostname(virDomainPtr domain, unsigned int flags)
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(domain->conn);
@@ -22430,7 +22430,7 @@ virNodeGetCPUMap(virConnectPtr conn,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(conn);
@@ -22487,7 +22487,7 @@ virDomainFSTrim(virDomainPtr dom,
         return ret;
     }

-    virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();

 error:
     virDispatchError(dom->conn);
diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
index 0fc5763..500470d 100644
--- a/src/lxc/lxc_driver.c
+++ b/src/lxc/lxc_driver.c
@@ -2257,7 +2257,7 @@ lxcDomainInterfaceStats(virDomainPtr dom,
                         const char *path ATTRIBUTE_UNUSED,
                         struct _virDomainInterfaceStats *stats ATTRIBUTE_UNUSED)
 {
-    virReportError(VIR_ERR_NO_SUPPORT, "%s", __FUNCTION__);
+    virReportUnsupportedError();
     return -1;
 }
 #endif
diff --git a/src/security/security_manager.c b/src/security/security_manager.c
index 5b76ad8..db72e1b 100644
--- a/src/security/security_manager.c
+++ b/src/security/security_manager.c
@@ -256,7 +256,7 @@ virSecurityManagerGetDOI(virSecurityManagerPtr mgr)
         return ret;
     }

-    virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
     return NULL;
 }

@@ -271,7 +271,7 @@ virSecurityManagerGetModel(virSecurityManagerPtr mgr)
         return ret;
     }

-    virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
     return NULL;
 }

@@ -317,7 +317,7 @@ int virSecurityManagerRestoreImageLabel(virSecurityManagerPtr mgr,
         return ret;
     }

-    virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
     return -1;
 }

@@ -332,7 +332,7 @@ int virSecurityManagerSetDaemonSocketLabel(virSecurityManagerPtr mgr,
         return ret;
     }

-    virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
     return -1;
 }

@@ -347,7 +347,7 @@ int virSecurityManagerSetSocketLabel(virSecurityManagerPtr mgr,
         return ret;
     }

-    virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
     return -1;
 }

@@ -362,7 +362,7 @@ int virSecurityManagerClearSocketLabel(virSecurityManagerPtr mgr,
         return ret;
     }

-    virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
     return -1;
 }

@@ -378,7 +378,7 @@ int virSecurityManagerSetImageLabel(virSecurityManagerPtr mgr,
         return ret;
     }

-    virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
     return -1;
 }

@@ -395,7 +395,7 @@ int virSecurityManagerRestoreHostdevLabel(virSecurityManagerPtr mgr,
         return ret;
     }

-    virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
     return -1;
 }

@@ -412,7 +412,7 @@ int virSecurityManagerSetHostdevLabel(virSecurityManagerPtr mgr,
         return ret;
     }

-    virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
     return -1;
 }

@@ -428,7 +428,7 @@ int virSecurityManagerSetSavedStateLabel(virSecurityManagerPtr mgr,
         return ret;
     }

-    virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
     return -1;
 }

@@ -444,7 +444,7 @@ int virSecurityManagerRestoreSavedStateLabel(virSecurityManagerPtr mgr,
         return ret;
     }

-    virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
     return -1;
 }

@@ -512,7 +512,7 @@ int virSecurityManagerGenLabel(virSecurityManagerPtr mgr,
         }

         if (!sec_managers[i]->drv->domainGenSecurityLabel) {
-            virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+            virReportUnsupportedError();
         } else {
             /* The seclabel must be added to @vm prior calling domainGenSecurityLabel
              * which may require seclabel to be presented already */
@@ -553,7 +553,7 @@ int virSecurityManagerReserveLabel(virSecurityManagerPtr mgr,
         return ret;
     }

-    virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
     return -1;
 }

@@ -568,7 +568,7 @@ int virSecurityManagerReleaseLabel(virSecurityManagerPtr mgr,
         return ret;
     }

-    virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
     return -1;
 }

@@ -584,7 +584,7 @@ int virSecurityManagerSetAllLabel(virSecurityManagerPtr mgr,
         return ret;
     }

-    virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
     return -1;
 }

@@ -600,7 +600,7 @@ int virSecurityManagerRestoreAllLabel(virSecurityManagerPtr mgr,
         return ret;
     }

-    virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
     return -1;
 }

@@ -617,7 +617,7 @@ int virSecurityManagerGetProcessLabel(virSecurityManagerPtr mgr,
         return ret;
     }

-    virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
     return -1;
 }

@@ -632,7 +632,7 @@ int virSecurityManagerSetProcessLabel(virSecurityManagerPtr mgr,
         return ret;
     }

-    virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
     return -1;
 }

@@ -643,7 +643,7 @@ int virSecurityManagerSetChildProcessLabel(virSecurityManagerPtr mgr,
     if (mgr->drv->domainSetSecurityChildProcessLabel)
        return mgr->drv->domainSetSecurityChildProcessLabel(mgr, vm, cmd);

-    virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
     return -1;
 }

@@ -671,7 +671,7 @@ int virSecurityManagerVerify(virSecurityManagerPtr mgr,
         return ret;
     }

-    virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
     return -1;
 }

@@ -687,7 +687,7 @@ int virSecurityManagerSetImageFDLabel(virSecurityManagerPtr mgr,
         return ret;
     }

-    virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
     return -1;
 }

@@ -703,7 +703,7 @@ int virSecurityManagerSetTapFDLabel(virSecurityManagerPtr mgr,
         return ret;
     }

-    virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
     return -1;
 }

@@ -718,7 +718,7 @@ char *virSecurityManagerGetMountOptions(virSecurityManagerPtr mgr,
         return ret;
     }

-    virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+    virReportUnsupportedError();
     return NULL;
 }

diff --git a/src/util/virerror.h b/src/util/virerror.h
index 87272e9..ec7ef95 100644
--- a/src/util/virerror.h
+++ b/src/util/virerror.h
@@ -156,6 +156,11 @@ void virReportSystemErrorFull(int domcode,
                       0, 0,                                          \
                       "%s", message);

+# define virReportUnsupportedError()                                    \
+    virReportErrorHelper(VIR_FROM_THIS, VIR_ERR_NO_SUPPORT,             \
+                         __FILE__, __FUNCTION__, __LINE__, __FUNCTION__)
+
+
 void virReportOOMErrorFull(int domcode,
                            const char *filename,
                            const char *funcname,
diff --git a/src/util/virinitctl.c b/src/util/virinitctl.c
index 029dbb9..488deda 100644
--- a/src/util/virinitctl.c
+++ b/src/util/virinitctl.c
@@ -162,7 +162,7 @@ cleanup:
 int virInitctlSetRunLevel(virInitctlRunLevel level ATTRIBUTE_UNUSED,
                           const char *vroot ATTRIBUTE_UNUSED)
 {
-   virReportError(VIR_ERR_NO_SUPPORT, "%s", __FUNCTION__);
-   return -1;
+    virReportUnsupportedError();
+    return -1;
 }
 #endif
diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c
index 4103dc9..07f1ec0 100644
--- a/src/xen/xen_driver.c
+++ b/src/xen/xen_driver.c
@@ -2320,7 +2320,7 @@ xenUnifiedConnectDomainEventRegister(virConnectPtr conn,
     xenUnifiedLock(priv);

     if (priv->xsWatch == -1) {
-        virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+        virReportUnsupportedError();
         xenUnifiedUnlock(priv);
         return -1;
     }
@@ -2346,7 +2346,7 @@ xenUnifiedConnectDomainEventDeregister(virConnectPtr conn,
     xenUnifiedLock(priv);

     if (priv->xsWatch == -1) {
-        virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+        virReportUnsupportedError();
         xenUnifiedUnlock(priv);
         return -1;
     }
@@ -2377,7 +2377,7 @@ xenUnifiedConnectDomainEventRegisterAny(virConnectPtr conn,
     xenUnifiedLock(priv);

     if (priv->xsWatch == -1) {
-        virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+        virReportUnsupportedError();
         xenUnifiedUnlock(priv);
         return -1;
     }
@@ -2404,7 +2404,7 @@ xenUnifiedConnectDomainEventDeregisterAny(virConnectPtr conn,
     xenUnifiedLock(priv);

     if (priv->xsWatch == -1) {
-        virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
+        virReportUnsupportedError();
         xenUnifiedUnlock(priv);
         return -1;
     }
-- 
1.8.4.2




More information about the libvir-list mailing list