[libvirt] [PATCH v2 06/10] blockcommit: document semantics of committing active layer

Eric Blake eblake at redhat.com
Tue Jun 10 17:12:43 UTC 2014


On 06/06/2014 05:51 AM, Peter Krempa wrote:
> On 06/06/14 00:52, Eric Blake wrote:
>> Now that qemu 2.0 allows commit of the active layer, people are
>> attempting to use virsh blockcommit and getting into a stuck
>> state, because libvirt is unprepared to handle the two-phase
>> commit required by qemu.
>>

>> This patch adds a flag to the libvirt API that a user MUST
>> supply in order to acknowledge that they will be using two-phase
>> semantics.  It might be possible to have a mode where if the
>> flag is omitted, we automatically do the case 2 semantics on
>> the user's behalf; but before that happens, I must do additional
>> patches to track the fact that we are doing an active commit
>> in the domain XML.  Later patches will add support of the flag,
>> and once 2-phase semantics are working, we can then decide
>> whether to relax things to allow an omitted flag to cause an
>> automatic pivot.
>>

>> +        /* XXX Should we auto-pivot when COMMIT_ACTIVE is not specified? */
> 
> I think we should do it in the future and possibly document the expected
> behavior.
> 
>> +        if (!(flags & VIR_DOMAIN_BLOCK_COMMIT_ACTIVE)) {
>> +            virReportError(VIR_ERR_INVALID_ARG,
>> +                           _("commit of '%s' active layer requires active flag"),
>> +                           disk->dst);
>> +            goto endjob;
>> +        }
>>      }
>>
>>      if (!topSource->backingStore) {
> 
> ACK, adding the docs for the auto-pivot commit if you don't specify any
> flag can be postponed.

Agreed - we can document the new semantics once they are implemented.

I've pushed this patch now to reserve the bit, even though I still need
to post a v3 of the rest of the series with changes such as ensuring the
persistent definition is updated appropriately.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

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


More information about the libvir-list mailing list