From: Eric Blake Date: Wed, 14 Sep 2011 18:41:17 +0000 (-0600) Subject: rpc: convert unknown procedures to VIR_ERR_NO_SUPPORT X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=4a075f7e7fcc9f56f880d781d4a08f869a50c4e8;p=libvirt.git rpc: convert unknown procedures to VIR_ERR_NO_SUPPORT 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. --- diff --git a/src/rpc/virnetclientprogram.c b/src/rpc/virnetclientprogram.c index a07b744d3c..33fa5078b7 100644 --- a/src/rpc/virnetclientprogram.c +++ b/src/rpc/virnetclientprogram.c @@ -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 &&