[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC v3] domain snapshot documents



On Fri, Jun 6, 2014 at 1:44 AM, Jim Fehlig <jfehlig@xxxxxxxx> wrote:
> Bamvor Jian Zhang wrote:
>> Hi, David
>>
>>> On Fri, May 16, 2014 at 6:00 PM, Bamvor Jian Zhang <bjzhang@xxxxxxxx> wrote:
>>>
>>>
>>>> Hi, david
>>>>
>>>>
>>>>> On Thu, May 15, 2014 at 4:58 PM, Bamvor Jian Zhang <bjzhang@xxxxxxxx>
>>>>>
>>>> wrote:
>>>>
>>>>>> Hi,
>>>>>>
>>>>>> here is the third version about domain snapshot documents, the second
>>>>>> version
>>>>>> and the first version is here[1][2].
>>>>>>
>>>> ...
>>>>
>>>>>> 2, new functions
>>>>>> there is no common api like libxl_snapshot_xxx. the reason is that
>>>>>> different
>>>>>> toolstack may need to different event handling machanism(synchronize or
>>>>>> asynchronize). and obviously, domain snapshot create need async
>>>>>>
>>>> handler.
>>>>
>>>>>> so i
>>>>>> decide to only provide the sub api for xl and other toolstack(e.g.
>>>>>> libvirt).
>>>>>> it make eailer for toolstack to handle the event by themselves.
>>>>>>
>>>>>> 1), in libxl/libxl.h
>>>>>> the implementation will be located in libxl_snapshot.c
>>>>>> /* disk snapshot api
>>>>>>  * support create for external and internal disks, support delete for
>>>>>> internal
>>>>>>  * snapshot of disks.
>>>>>>  */
>>>>>> /* create disk snapshot according to the device name in snapshot
>>>>>>
>>>> array. nb
>>>>
>>>>>> is
>>>>>>  * the number of snapshot array.
>>>>>>  * use the qmp transaction to ensure all snapshot of disk is coherence.
>>>>>>  */
>>>>>> int libxl_disk_snapshot_create(libxl_ctx *ctx, int domid,
>>>>>>                                libxl_disk_snapshot *snapshot, int nb,
>>>>>>                                const libxl_asyncop_how *ao_how);
>>>>>> /* delete number of nb disk snapshot describe in snapshot array
>>>>>>  */
>>>>>> int libxl_disk_snapshot_delete(libxl_ctx *ctx, int domid,
>>>>>>                                libxl_disk_snapshot *snapshot, int nb);
>>>>>>
>>> Are this the only two functions you are exposing?I mean the API?or am I
>>> getting something wrong?
>>>
>>>
>> there are functions libxl_qmp_loadvm, libxl_qmp_savevm which is called by
>> domain internal snapshot create/revert. currently, they are internal 
>> functions.
>> (libxl_intenal.h). but i should expose them, e.g. look like:
>> int libxl_loadvm(libxl_ctx *ctx, int domid, libxl_domain_snapshot *snapshot,
>>                  const libxl_asyncop_how *ao_how);
>> int libxl_savevm(libxl_ctx *ctx, int domid, libxl_domain_snapshot *snapshot,
>>                  const libxl_asyncop_how *ao_how);
>>
>
> IMO, would be better to have libxl_disk_snapshot_create() and
> libxl_disk_snapshot_delete() exposed, and keep these as internal.
>

I was stuck at how to create a system checkpoint without these?

> Regards,
> Jim
>

Trivial fix,all "int domid" should be "uint32_t domid"

>

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.