qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@gmail.com>
To: Wenchao Xia <xiawenc@linux.vnet.ibm.com>
Cc: kwolf@redhat.com, pbonzini@redhat.com, qemu-devel@nongnu.org,
	mreitz@redhat.com
Subject: Re: [Qemu-devel] [PATCH V3 0/7] qcow2: rollback the modification on fail in snapshot creation
Date: Wed, 2 Oct 2013 14:28:48 +0200	[thread overview]
Message-ID: <20131002122848.GD12200@stefanha-thinkpad.redhat.com> (raw)
In-Reply-To: <1378695482-29805-1-git-send-email-xiawenc@linux.vnet.ibm.com>

On Mon, Sep 09, 2013 at 10:57:55AM +0800, Wenchao Xia wrote:
> V2:
>   1: all fail case will goto fail section.
>   2: add the goto code.
> v3:
>   Address Stefan's comments:
>   2: don't goto fail after allocation failure.
>   3: use sn->l1size correctly in qcow2_free_cluster().
>   4-7: add test case to verify the error paths.
>   Other:
>   1: new patch fix a existing bug, which will be exposed in error path test.
> 
> 
> Wenchao Xia (7):
>   1 qcow2: restore nb_snapshots when fail in snapshot creation
>   2 qcow2: free allocated cluster on fail in qcow2_write_snapshots()
>   3 qcow2: cancel the modification on fail in qcow2_snapshot_create()
>   4 blkdebug: add debug events for snapshot
>   5 qcow2: use debug events for snapshot
>   6 qcow2: print message for error path in snapshot creation
>   7 qemu-iotests: add test for qcow2 snapshot
> 
>  block/blkdebug.c           |    4 +
>  block/qcow2-snapshot.c     |   80 ++++++++++++++--
>  include/block/block.h      |    4 +
>  tests/qemu-iotests/063     |  229 ++++++++++++++++++++++++++++++++++++++++++++
>  tests/qemu-iotests/063.out |   37 +++++++
>  tests/qemu-iotests/group   |    1 +
>  6 files changed, 348 insertions(+), 7 deletions(-)
>  create mode 100755 tests/qemu-iotests/063
>  create mode 100644 tests/qemu-iotests/063.out

Makes sense but keep in mind that it's better to leak clusters than to
corrupt the image further.  We have to be very careful in these error
paths, especially when a big operation could have failed partway
through.  I left comments where I thought the patches need to be
changed.

  parent reply	other threads:[~2013-10-02 13:26 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-09  2:57 [Qemu-devel] [PATCH V3 0/7] qcow2: rollback the modification on fail in snapshot creation Wenchao Xia
2013-09-09  2:57 ` [Qemu-devel] [PATCH V3 1/7] qcow2: restore nb_snapshots when " Wenchao Xia
2013-09-30 17:20   ` Eric Blake
2013-10-02 12:26   ` Stefan Hajnoczi
2013-09-09  2:57 ` [Qemu-devel] [PATCH V3 2/7] qcow2: free allocated cluster on fail in qcow2_write_snapshots() Wenchao Xia
2013-09-30 21:16   ` Eric Blake
2013-10-02 12:07   ` Stefan Hajnoczi
2013-09-09  2:57 ` [Qemu-devel] [PATCH V3 3/7] qcow2: cancel the modification on fail in qcow2_snapshot_create() Wenchao Xia
2013-09-30 21:24   ` Eric Blake
2013-09-09  2:57 ` [Qemu-devel] [PATCH V3 4/7] blkdebug: add debug events for snapshot Wenchao Xia
2013-09-30 21:26   ` Eric Blake
2013-09-09  2:58 ` [Qemu-devel] [PATCH V3 5/7] qcow2: use " Wenchao Xia
2013-09-30 21:41   ` Eric Blake
2013-09-09  2:58 ` [Qemu-devel] [PATCH V3 6/7] qcow2: print message for error path in snapshot creation Wenchao Xia
2013-09-30 22:08   ` Eric Blake
2013-10-02 12:23     ` Stefan Hajnoczi
2013-10-14  7:39       ` Wenchao Xia
2013-09-09  2:58 ` [Qemu-devel] [PATCH V3 7/7] qemu-iotests: add test for qcow2 snapshot Wenchao Xia
2013-09-30 22:28   ` Eric Blake
2013-10-14  7:48     ` Wenchao Xia
2013-09-24  3:36 ` [Qemu-devel] [PATCH V3 0/7] qcow2: rollback the modification on fail in snapshot creation Wenchao Xia
2013-10-02 12:28 ` Stefan Hajnoczi [this message]
2013-10-14  7:38   ` Wenchao Xia

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=20131002122848.GD12200@stefanha-thinkpad.redhat.com \
    --to=stefanha@gmail.com \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).