[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC v3] domain snapshot documents
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); sorry for confuse. regards bamvor > > > > > > > I think we also need revert libxl_disk_snapshot_revert() here. > > there are two methods for revert disk snapshot state in qemu: call > > "loadvm" hmp > > and "qemu-img snapshot -a". and i will call loadvm for reverting the qemu > > state > > and disk state in libxl_snapshot_create. > > user could revert the dedicate disk snapshot with qemu-img when domain is > > not > > running.it seems not a good idea wrap the qemu-img command in libxl. > > > > regards > > > > bamvor > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |