[libvirt] [PATCH 01/20] snapshot: new XML for external system checkpoint

Eric Blake eblake at redhat.com
Thu Oct 25 22:20:05 UTC 2012


On 10/23/2012 09:41 PM, Osier Yang wrote:
> On 2012年10月23日 23:12, Peter Krempa wrote:
>> From: Eric Blake<eblake at redhat.com>
>>
>> Each<domainsnapshot>  can now contain an optional<memory>
>> element that describes how the VM state was handled, similar
>> to disk snapshots.  The new element will always appear in
>> output; for back-compat, an input that lacks the element will
>> assume 'no' or 'internal' according to the domain state.
>>
>> Along with this change, it is now possible to pass<disks>  in
>> the XML for an offline snapshot; this also needs to be wired up
>> in a future patch, to make it possible to choose internal vs.
>> external on a per-disk basis for each disk in an offline domain.
>> At that point, using the --disk-only flag for an offline domain
>> will be able to work.
>>
>> @@ -208,15 +212,11 @@ virDomainSnapshotDefParseString(const char *xmlStr,
>>               virReportError(VIR_ERR_XML_ERROR, "%s",
>>                              _("a redefined snapshot must have a name"));
>>               goto cleanup;
>> -        } else {
>> -            ignore_value(virAsprintf(&def->name, "%lld",
>> -                                     (long long)tv.tv_sec));
>>           }
>> -    }
>> -
>> -    if (def->name == NULL) {
>> -        virReportOOMError();
>> -        goto cleanup;
>> +        if (virAsprintf(&def->name, "%lld", (long long)tv.tv_sec)<  0) {
>> +            virReportOOMError();
>> +            goto cleanup;
>> +        }
> 
> Okay, coding style improvements.

When I first posted this patch, I was asked to split this hunk into a
separate commit.  Consider that done.

>> +    }
>> +    if (offline&&  def->memory&&
> 
> I think def->memory checking is redundant here. Not big deal though.
> 
>> +        def->memory != VIR_DOMAIN_SNAPSHOT_LOCATION_NONE) {

Here, def->memory==0==VIR_DOMAIN_SNAPSHOT_LOCATION_DEFAULT is different
than an explicit 'none' (value 1).  The check is necessary for
back-compat, since the absence of <memory> in the snapshot XML must do
the same behavior as always, and that behavior differed for checkpoint
vs. disk-only snapshots.

>> +        virReportError(VIR_ERR_XML_ERROR, "%s",
>> +                       _("memory state cannot be saved with offline
>> snapshot"));
> 
> "VM state" is used both in the commit message and docs. Better
> to keep consistent, I prefer "memory state" more, as it's more clear.
> "VM state" could include disk state too. Correct me if I'm not right.

VM state includes both memory _and_ device state; but then you could
argue that device state is just a special subset of memory state.  Sure,
I'll do that rewording.

> 
> Others looks just very sanity, ACK.

Thanks for the review, and thanks to Peter for helping with the rebase
work.  I'll push this one shortly, while I work on reviewing Peter's
patches later in the series.

-- 
Eric Blake   eblake at 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: 617 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20121025/cafe01bc/attachment-0001.sig>


More information about the libvir-list mailing list