[libvirt] [PATCH] virsh: Use old API if remote libvirtd does not support new

Eric Blake eblake at redhat.com
Wed Sep 14 17:42:46 UTC 2011

On 09/13/2011 04:50 PM, Eric Blake wrote:
> On 09/13/2011 09:16 AM, Peter Krempa wrote:
>> Commit ffe28ab74b821c916ec4ba8efb5c992454e4bd24 introduced regression
>> while comunicating with older libvirtd command 'domblkstat' used the new
>> API and did not check for VIR_ERR_RPC error code signalling the remote
>> server does not support this API and did not fall back to older API.
>> Thereafter 'domblkstat' ended with "error: unknown procedure: 243".
>> ---
> Or, maybe this means that we have a bug in our RPC code - when the local
> side gets VIR_ERR_RPC from the remote side due to unknown rpc number,
> should the local side be translating that into VIR_ERR_NO_SUPPORT
> instead of passing it back to the user as VIR_ERR_RPC? But only for
> unknown rpc numbers; for other rpc errors, VIR_ERR_RPC still makes sense.

I've confirmed that we have a regression :(.  Talking to an 0.8.8 server 
gives VIR_ERR_NO_SUPPORT when issuing the "unknown procedure: 243" 
message; it is only 0.9.3 and newer where we switched to the new rpc 
handling where we get VIR_ERR_RPC instead.  I'm looking into how best to 
repair this regression, so that clients need not check for VIR_ERR_RPC 

Eric Blake   eblake at redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

More information about the libvir-list mailing list