All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Wenchao Xia <xiawenc@linux.vnet.ibm.com>
Cc: kwolf@redhat.com, phrdina@redhat.com, famz@redhat.com,
	Stefan Hajnoczi <stefanha@gmail.com>,
	armbru@redhat.com, qemu-devel@nongnu.org, pbonzini@redhat.com,
	lcapitulino@redhat.com, dietmar@proxmox.com
Subject: Re: [Qemu-devel] [PATCH V2 09/12] qmp: add interface blockdev-snapshot-delete-internal-sync
Date: Wed, 19 Jun 2013 16:24:58 +0200	[thread overview]
Message-ID: <20130619142458.GA4586@stefanha-thinkpad.muc.redhat.com> (raw)
In-Reply-To: <51C17192.6050405@linux.vnet.ibm.com>

On Wed, Jun 19, 2013 at 04:53:38PM +0800, Wenchao Xia wrote:
> 于 2013-6-19 15:46, Stefan Hajnoczi 写道:
> >On Wed, Jun 19, 2013 at 02:18:48PM +0800, Wenchao Xia wrote:
> >>于 2013-6-18 22:20, Stefan Hajnoczi 写道:
> >>>On Mon, Jun 17, 2013 at 11:25:26AM +0800, Wenchao Xia wrote:
> >>>>于 2013-6-15 17:55, Eric Blake 写道:
> >>>>>Should this command be made available via 'transaction'?  That is, if I
> >>>>>have a two-disk VM, and use 'transaction' to take a snapshot of both
> >>>>>disks at once, shouldn't I also have a way to delete the snapshots of
> >>>>>both at once, or gracefully fail without data loss if the second one has
> >>>>>problems?
> >>>>
> >>>>   I think adding it in transaction is not very useful but brings more
> >>>>complexity. Transcation is used to guareentee all operations are taken
> >>>>in one time point, for example, snapshot creation use it to make sure
> >>>>all are consistent to VM. But for deletion, this requirement do not
> >>>>exist.
> >>>
> >>>I guess the problem is: can we make internal snapshot deletion
> >>>transactional?  It's hard to do rollback for snapshot deletion.
> >>>
> >>   Several deletion in transaction equals to several calls of
> >>'blockdev-snapshot-delete-internal-sync', unlike creation, so I hope
> >>not add it which have rollback issue.
> >>
> >>
> >>>But batching is definitely useful for doing 'delvm' in QMP.  I just
> >>>don't think transactions help.  We just need a 'delvm' equivalent in
> >>>QMP.
> >>>
> >>   Maybe the caller can encapsulate a batch interface at its level.
> >
> >'delvm' is a batch interface - it deletes internal snapshots that have
> >the same name across multiple devices.
> >
> >It's not as flexible as:
> >blkdev-internal-snapshot-delete drive0 drive2 drive4
> >
> >Because that would allow you to specify specific drives.
> >
>   Do you mean this interface should be changed as
> blkdev-internal-snapshot-delete devices_array name *id?
> 
>   It seems not much difference with following methods:
> 
> for device in device_list:
>   blkdev-internal-snapshot-delete device name

The ability to batch in a single QMP command feels a little nicer.
There are less opportunities for the operation to stop half-way through.

It would be usable as a QMP 'delvm' and in a more flexible way to delete
multiple internal snapshots.

Would be interesting to see what Eric Blake thinks from a libvirt
perspective.

Stefan

  reply	other threads:[~2013-06-19 14:25 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-14 11:39 [Qemu-devel] [PATCH V2 00/12] add internal snapshot support at block device level Wenchao Xia
2013-06-14 11:39 ` [Qemu-devel] [PATCH V2 01/12] blockdev: drop redundant proto_drv check Wenchao Xia
2013-06-14 11:39 ` [Qemu-devel] [PATCH V2 02/12] blockdev: rename BlkTransactionStates to singular Wenchao Xia
2013-06-14 11:39 ` [Qemu-devel] [PATCH V2 03/12] blockdev: allow BdrvActionOps->commit() to be NULL Wenchao Xia
2013-06-14 11:39 ` [Qemu-devel] [PATCH V2 04/12] snapshot: new function bdrv_snapshot_find_by_id_and_name() Wenchao Xia
2013-06-14 11:39 ` [Qemu-devel] [PATCH V2 05/12] snapshot: add paired functions for internal snapshot id and name Wenchao Xia
2013-06-14 11:39 ` [Qemu-devel] [PATCH V2 06/12] snapshot: distinguish id and name in snapshot delete Wenchao Xia
2013-06-14 11:39 ` [Qemu-devel] [PATCH V2 07/12] qmp: add internal snapshot support in qmp_transaction Wenchao Xia
2013-06-15  9:40   ` Eric Blake
2013-06-17  2:43     ` Wenchao Xia
2013-06-18 14:09   ` Stefan Hajnoczi
2013-06-14 11:39 ` [Qemu-devel] [PATCH V2 08/12] qmp: add interface blockdev-snapshot-internal-sync Wenchao Xia
2013-06-15  9:51   ` Eric Blake
2013-06-17  3:09     ` Wenchao Xia
2013-06-14 11:39 ` [Qemu-devel] [PATCH V2 09/12] qmp: add interface blockdev-snapshot-delete-internal-sync Wenchao Xia
2013-06-15  9:55   ` Eric Blake
2013-06-17  3:25     ` Wenchao Xia
2013-06-18 14:20       ` Stefan Hajnoczi
2013-06-19  6:18         ` Wenchao Xia
2013-06-19  7:46           ` Stefan Hajnoczi
2013-06-19  8:53             ` Wenchao Xia
2013-06-19 14:24               ` Stefan Hajnoczi [this message]
2013-06-20  2:37                 ` Wenchao Xia
2013-06-14 11:39 ` [Qemu-devel] [PATCH V2 10/12] hmp: add interface hmp_snapshot_blkdev_internal Wenchao Xia
2013-06-14 11:39 ` [Qemu-devel] [PATCH V2 11/12] hmp: add interface hmp_snapshot_delete_blkdev_internal Wenchao Xia
2013-06-14 11:39 ` [Qemu-devel] [PATCH V2 12/12] qemu-iotests: add 055 internal snapshot for block device test case Wenchao Xia
2013-06-18 14:32   ` Stefan Hajnoczi
2013-06-19  6:21     ` Wenchao Xia
2013-06-19  7:46       ` Stefan Hajnoczi
2013-06-19  9:01         ` Wenchao Xia
2013-06-19 14:26           ` Stefan Hajnoczi

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=20130619142458.GA4586@stefanha-thinkpad.muc.redhat.com \
    --to=stefanha@redhat.com \
    --cc=armbru@redhat.com \
    --cc=dietmar@proxmox.com \
    --cc=famz@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=lcapitulino@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=phrdina@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    --cc=xiawenc@linux.vnet.ibm.com \
    /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.