[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 1/5] define snapshot API
Hi, Chunyan > >>> 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'? yes, i only need the name of snapshot for deleting. i put libxl_domain_snapshot here in order to consistent with load and store functions above. > > > + > > +/* 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. yes. thanks. > > > + * 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. sorry for confuse. this function will save disk parameter to libxl_disk_snapshot from libxl_diskinfo. reference my next reply for structure definition. libxl_disk_to_snapshot will get disk list through libxl_device_disk_list, and get libxl_diskinfo through libxl_device_disk_getinfo. and it will only process the disk support snapshot in current implementaiton. e.g. for internal snapshot: only qcow2 is supported. for external snapshot: raw and qcow2 is supported. regards bamvor _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |