All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pavel Hrdina <phrdina@redhat.com>
To: Eric Blake <eblake@redhat.com>
Cc: kwolf@redhat.com, Jeff Cody <jcody@redhat.com>,
	qemu-devel@nongnu.org, lcapitulino@redhat.com
Subject: Re: [Qemu-devel] [PATCH v2] qapi: converted commit
Date: Thu, 14 Jun 2012 17:21:44 +0200	[thread overview]
Message-ID: <4FDA0188.4080705@redhat.com> (raw)
In-Reply-To: <4FD9FD6A.2080702@redhat.com>

On 06/14/2012 05:04 PM, Eric Blake wrote:
> On 06/14/2012 08:56 AM, Pavel Hrdina wrote:
>> On 06/14/2012 02:18 PM, Eric Blake wrote:
>>> On 06/14/2012 01:35 AM, Pavel Hrdina wrote:
>>>> Signed-off-by: Pavel Hrdina<phrdina@redhat.com>
>>>> ---
>>>> +++ b/qapi-schema.json
>>>> @@ -1169,6 +1169,21 @@
>>>>    { 'command': 'block_resize', 'data': { 'device': 'str', 'size':
>>>> 'int' }}
>>>>
>>>>    ##
>>>> +# @commit
>>>> +#
>>>> +# Commit changes to the disk images (if -snapshot is used) or
>>>> backing files.
>>>> +#
>>>> +# @device: the name of the device or the "all" to commit all devices
>>>> +#
>>>> +# Returns: nothing on success
>>>> +#          If @device is not a valid block device, DeviceNotFound
>>>> +#          If a long-running operation is using the device, DeviceInUse
>>>> +#
>>>> +# Since: 1.2
>>>> +##
>>>> +{ 'command': 'commit', 'data': { 'device': 'str' }}
>>> Should we use this as an opportunity to make the command more powerful?
>>>    For example, integrating this with the 'transaction' command or a block
>>> job queried by 'query-block-jobs' to track its progress would be useful.
>>>    Also, suppose I have A<- B<- C.  Does 'commit' only do one layer (C
>>> into B), or all layers (B and C into A)?  That argues that we need an
>>> optional parameter that says how deep to commit (committing C into B
>>> only to repeat and commit B into A is more time-consuming than directly
>>> committing both B and C into A to start with).  When a commit is
>>> complete, which file is backing the device - is it still C (which
>>> continues to diverge, but now from the point of the commit) or does qemu
>>> pivot things to have the device now backed by B (and C can be discarded,
>>> particularly true if changes are now going into B which invalidate C).
>> What i find out is that 'commit' will commit changes only from C to B
>> and qemu continues with C from the new commit point. I couldn't find a
>> way to commit changes and go back to backing file. This should be
>> supported by parameter and also as you mention that commit all changes
>> through all snapshots should be supported by another parameter.
>> The 'transaction' feature would be nice to have too.
> Which makes it sound like we're starting to overlap with Jeff's work on
> 'block-commit'.
>
> If 'block-commit' proves to be better all around at doing what we want,
> do we even need to keep 'commit' in QMP, or would it be okay for HMP only?
If the 'block-commit' will be better I think that we could drop the 
'commit' completely. And have only 'block-commit' for both QMP and HMP.

Pavel

  reply	other threads:[~2012-06-14 15:22 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-14  7:32 [Qemu-devel] [PATCH] qapi: converted commit Pavel Hrdina
2012-06-14 12:18 ` [Qemu-devel] [PATCH v2] " Eric Blake
2012-06-14 14:56   ` Pavel Hrdina
2012-06-14 15:04     ` Eric Blake
2012-06-14 15:21       ` Pavel Hrdina [this message]
2012-06-15 14:02         ` Luiz Capitulino
2012-06-15 14:11           ` Jeff Cody
2012-06-15 14:44             ` Luiz Capitulino
2012-06-15 15:35               ` Jeff Cody
2012-06-15 13:58 ` Luiz Capitulino

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=4FDA0188.4080705@redhat.com \
    --to=phrdina@redhat.com \
    --cc=eblake@redhat.com \
    --cc=jcody@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=lcapitulino@redhat.com \
    --cc=qemu-devel@nongnu.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.