From: Ian Campbell <Ian.Campbell@citrix.com>
To: Chun Yan Liu <cyliu@suse.com>
Cc: Ian Jackson <Ian.Jackson@citrix.com>,
George Dunlap <dunlapg@umich.edu>, Wei Liu <wei.liu2@citrix.com>,
Jim Fehlig <JFEHLIG@suse.com>,
"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [RFC V8 2/3] libxl domain snapshot API design
Date: Thu, 13 Nov 2014 11:41:02 +0000 [thread overview]
Message-ID: <1415878862.21321.9.camel@citrix.com> (raw)
In-Reply-To: <546490D40200006600079701@soto.provo.novell.com>
On Wed, 2014-11-12 at 20:07 -0700, Chun Yan Liu wrote:
> > > By "active" here, do you you mean "live" (vs paused)?
> > Means the domain is started (no matter is running or paused).
> > vs (libvirt defines a domain but not started).
> > Here, I should update this to:
> > 3). take disk snapshot by qmp command
> > libxl only handles active domain.
I think the problem here is that different components in the system use
different terminology for things or even different concepts (e.g. libxl
has no inherent concept of inactive vs active domains, because it only
concerns itself with active domains).
Perhaps a glossary defining these things would help (also see below).
> > > > libxl_domain_snapshot_delete:
> > > > 1). check args validation
> > > > 2). remove memory state file.
> > > > 3). delete disk snapshot. (for internal disk snapshot, through qmp
> > > > command or qemu-img command)
> > >
> > > Out of curiosity, why is this necessary? Is libxl keeping track of
> > > the snapshots somewhere? Or qemu?
> > >
> > > Or to put it a different way, since the caller knows the filenames,
> > > why can't the caller just erase the files themselves?
> >
> > Ian asks the same question. The only reason I propose an API is:
> > xl and libvirt can share the code. And in future, when support many other
> > disk
> > backend types, there is much repeated code. But as Ian mentioned in
> > last version, for handling many disk backend types, maybe better placed in
> > libxlu. Well, if both of you object, I'll remove this API.
I think the reason we are having these same discussions over again is
that this proposal is focusing on the libxl API (e.g. the details of
what functions exist and what parameters they take) without an
introductory section which provides a broad overview of the
architecture, containing e.g. things like:
* What the general requirements for domain snapshotting are;
* What are the constraints which we are operating under; e.g.
libvirt or xl design requirements
* What the various components are (and which, possibly multiple,
entities provide them) and where the various responsibilities
lie.
I think we've teased a lot of this sort of thing out in past iterations
but without having it written down here I think we are all having
trouble agreeing (or remembering that we've agreed) that the API makes
sense because we all have different ideas about what the higher level
architecture/abstraction should look like.
See for example
http://xenbits.xen.org/people/dvrabel/event-channels-H.pdf or
http://lists.xen.org/archives/html/xen-devel/2014-10/msg03235.html (you
don't necessarily need to go all out on that level of formality, but
they provide some examples of the sorts of higher level design I'm
talking about)
I think it would also help with the glossary question above since it
would help define the terms.
I'm sorry for not observing this sooner.
Ian.
next prev parent reply other threads:[~2014-11-13 11:41 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-10 8:17 [RFC V8 0/3] domain snapshot document Chunyan Liu
2014-11-10 8:17 ` [RFC V8 1/3] libxl domain snapshot introduction Chunyan Liu
2014-11-10 8:17 ` [RFC V8 2/3] libxl domain snapshot API design Chunyan Liu
2014-11-10 17:04 ` George Dunlap
2014-11-11 8:07 ` Chun Yan Liu
2014-11-13 3:07 ` Chun Yan Liu
2014-11-13 11:41 ` Ian Campbell [this message]
2014-11-25 9:08 ` Chun Yan Liu
2014-11-28 15:43 ` Ian Campbell
2014-12-03 6:14 ` Chun Yan Liu
2014-12-05 14:02 ` Ian Campbell
2014-12-05 16:06 ` Wei Liu
2014-12-05 16:11 ` Ian Campbell
2014-12-05 16:22 ` Wei Liu
2014-12-08 7:34 ` Chun Yan Liu
2014-12-08 11:12 ` Wei Liu
2014-12-08 11:24 ` Wei Liu
2014-12-09 5:04 ` Chun Yan Liu
2014-12-09 11:11 ` Ian Campbell
2014-12-10 3:46 ` Chun Yan Liu
2014-12-12 16:22 ` Ian Campbell
2014-12-15 3:13 ` Chun Yan Liu
2014-11-10 8:17 ` [RFC V8 3/3] xl snapshot-xxx Design Chunyan Liu
[not found] <547F479A0200006600041019@soto.provo.novell.com>
2014-12-03 6:26 ` [RFC V8 2/3] libxl domain snapshot API design Chun Yan Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1415878862.21321.9.camel@citrix.com \
--to=ian.campbell@citrix.com \
--cc=Ian.Jackson@citrix.com \
--cc=JFEHLIG@suse.com \
--cc=cyliu@suse.com \
--cc=dunlapg@umich.edu \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.