[libvirt] [PATCH] error: avoid API breakage with vmware

Eric Blake eblake at redhat.com
Wed Dec 22 16:15:37 UTC 2010


On 12/22/2010 07:01 AM, Chris Lalancette wrote:
> On 12/21/10 - 03:12:43PM, Eric Blake wrote:
>> Fix glitch in commit cddd2a06 (thankfully post-0.8.6, so no
>> released version has the glitch).
>>
>> Document and try to workaround glitch in commit 46e9b0f (in 0.8.0,
>> which invalidated 6 virErrorNumber dating back to 0.7.1).
>>
>> Thankfully, my audit did not find any other glitches until pre-0.1.0
>> days.  I'm not sure how to add a syntax-check off the top of my
>> head, but hopefully the explicit numbering will make people think
>> twice about renumbering in the future.
>>
>> * include/libvirt/virterror.h (virErrorDomain): Avoid inserting
>> new values in the middle, and add explicit numbering to help avoid
>> this in the future.
>> (virErrorNumber): Add explicit numbering, and document the snafu.
>> * src/remote/remote_driver.c (remoteIO): Compensate for the snafu.
> 
> Thanks for looking at this, Eric.
> 
>> +++ b/src/remote/remote_driver.c
>> @@ -10371,8 +10371,36 @@ remoteIO(virConnectPtr conn,
>>          return -1;
>>
>>  cleanup:
>> -    DEBUG("All done with our call %d %p %p", thiscall->proc_nr, priv->waitDispatch, thiscall);
>> +    DEBUG("All done with our call %d %p %p", thiscall->proc_nr,
>> +          priv->waitDispatch, thiscall);
>>      if (thiscall->mode == REMOTE_MODE_ERROR) {
>> +        /* Interop for virErrorNumber glitch in 0.8.0, if server is
>> +         * 0.7.1 through 0.7.7 */

I tweaked this comment to refer to the pseudocode in virterror.h,

> Clever.  Make sure it is of the right "domain", and if not, you know you are
> talking to an older server.  At first I thought it was confusing, but this
> will do the right thing in *almost* all situations, so I like it.
> 
> ACK to this; as DV says, maybe we can make a "make check" or
> "make syntax-check" to automatically catch it in the future, but this at least
> fixes the current breakage.

then pushed the result.

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 619 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20101222/712695ae/attachment-0001.sig>


More information about the libvir-list mailing list