]> xenbits.xensource.com Git - libvirt.git/commitdiff
rpc: convert unknown procedures to VIR_ERR_NO_SUPPORT
authorEric Blake <eblake@redhat.com>
Wed, 14 Sep 2011 18:41:17 +0000 (12:41 -0600)
committerEric Blake <eblake@redhat.com>
Fri, 16 Sep 2011 14:20:32 +0000 (08:20 -0600)
Libvirt special-cases a specific VIR_ERR_RPC from the remote driver
back into VIR_ERR_NO_SUPPORT on the client, so that clients can
handle missing rpc functions the same whether the hypervisor driver
is local or remote.  However, commit c1b22644 introduced a regression:
VIR_FROM_THIS changed from VIR_FROM_REMOTE to VIR_FROM_RPC, so the
special casing no longer works if the server uses the newer error
domain.

* src/rpc/virnetclientprogram.c
(virNetClientProgramDispatchError): Also cater to 0.9.3 and newer.

src/rpc/virnetclientprogram.c

index a07b744d3cfc3b404e4a3e88f348b1357112e159..33fa5078b78ba39941e72b57dcd2269d242aa691 100644 (file)
@@ -151,7 +151,7 @@ virNetClientProgramDispatchError(virNetClientProgramPtr prog ATTRIBUTE_UNUSED,
         break;
     }
 
-    if (err.domain == VIR_FROM_REMOTE &&
+    if ((err.domain == VIR_FROM_REMOTE || err.domain == VIR_FROM_RPC) &&
         err.code == VIR_ERR_RPC &&
         err.level == VIR_ERR_ERROR &&
         err.message &&