[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC v3] domain snapshot documents
Looks Okay now. On Mon, May 19, 2014 at 6:45 AM, Bamvor Jian Zhang <bjzhang@xxxxxxxx> 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); > > 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 |