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

Re: [Xen-devel] [PATCH v4 1/5] define snapshot API




>>> On 6/23/2014 at 07:25 PM, in message
<1403522755-6894-2-git-send-email-bjzhang@xxxxxxxx>, Bamvor Jian Zhang
<bjzhang@xxxxxxxx> wrote: 
> it includes two parts APIs: domain snapshot configuration file operation 
> (load, store, delete, it base on Wei Liu's libxl-json api) and disk 
> snapshot operation(create, delete, revert, including implementation 
> details: choose qmp or qemu-img command). 
>  
> about xl and libvirt cooperation. currently, libvirt use xml for description 
> domain snapshot for both user interface and store the snapshot information 
> on disks. if libvirt libxl driver could use libxl-json format in load/store 
> domain snapshot configuration, it would be easier for the user who may be 
> switch xl and libvirt. this will not affect the libvirt user experience. 
>  
> Signed-off-by: Bamvor Jian Zhang <bjzhang@xxxxxxxx> 
> --- 
>  tools/libxl/libxl.h | 37 +++++++++++++++++++++++++++++++++++++ 
>  1 file changed, 37 insertions(+) 
>  
> diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h 
> index be722b6..8106f4b 100644 
> --- a/tools/libxl/libxl.h 
> +++ b/tools/libxl/libxl.h 
> @@ -1261,6 +1261,43 @@ int libxl_load_domain_configuration(libxl_ctx *ctx,  
> uint32_t domid, 
>  int libxl_store_domain_configuration(libxl_ctx *ctx, uint32_t domid, 
>                                       libxl_domain_config *d_config); 
>   
> +/* snapshot relative APIs */ 
> + 
> +/* management functions for domain snapshot configuration */ 
> + 
> +/* Load, save, delete domain snapshot configuration file. */ 
> +int libxl_load_dom_snapshot_conf(libxl_ctx *ctx, uint32_t domid, 
> +                                    libxl_domain_snapshot *snapshot); 
> +int libxl_store_dom_snapshot_conf(libxl_ctx *ctx, uint32_t domid, 
> +                                     libxl_domain_snapshot *snapshot); 
> +int libxl_delete_dom_snapshot_conf(libxl_ctx *ctx, uint32_t domid, 
> +                                   libxl_domain_snapshot *snapshot); 

Do we need libxl_domain_snapshot as parameter here? Why not
'ctx, domid, snapshot-name'?

> + 
> +/* retrieve all the snapshot information from disk, put the number of it to  
> num. 

Typo  here. Is it to retrieve the snapshot info of the domain?
If  domain has 2 snapshots, return the 2 snapshots' info and set num=2.

> + * caller is responsible for free the libxl_domain_snapshot array. 
> + */ 
> +libxl_domain_snapshot *libxl_domain_snapshot_list(libxl_ctx *ctx, 
> +                                                  uint32_t domid, int  
> *num); 
> + 
> +/* functions for disk snapshot operations */ 
> +/* create disk snapshot through qmp transaction */ 
> +int libxl_disk_snapshot_create(libxl_ctx *ctx, int domid, 
> +                               libxl_disk_snapshot *snapshot, int nb); 
> + 
> +/* delete disk snapshot through qmp delete */ 
> +int libxl_disk_snapshot_delete(libxl_ctx *ctx, int domid, 
> +                               libxl_disk_snapshot *snapshot, int nb); 
> + 
> +/* revert disk snapshot through qemu-img snapshot apply command */ 
> +int libxl_disk_snapshot_revert(libxl_ctx *ctx, uint32_t domid, 
> +                               libxl_disk_snapshot *snapshot, int nb); 
> + 
> +/* create libxl_disk_snapshot from libxl_device_disk 
> + * will alloc disks if disks empty 
> + */ 
> +int libxl_disk_to_snapshot(libxl_ctx *ctx, uint32_t domid, 
> +                           libxl_domain_snapshot *snapshot); 

What is this function for? And how would we use it? It's better to have some
explanation to the functionality and the parameters.

Regards,
Chunyan

> + 
>  #include <libxl_event.h> 
>   
>  #endif /* LIBXL_H */ 
 


_______________________________________________
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®.