qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Cody <jcody@redhat.com>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: kwolf@redhat.com, famz@redhat.com, qemu-devel@nongnu.org,
	stefanha@redhat.com
Subject: Re: [Qemu-devel] [PATCH v6 00/20] VHDX log replay and write support, .bdrv_create()
Date: Tue, 1 Oct 2013 10:15:46 -0400	[thread overview]
Message-ID: <20131001141546.GB18576@localhost.localdomain> (raw)
In-Reply-To: <20131001134104.GB23437@stefanha-thinkpad.redhat.com>

On Tue, Oct 01, 2013 at 03:41:04PM +0200, Stefan Hajnoczi wrote:
> On Wed, Sep 25, 2013 at 05:02:45PM -0400, Jeff Cody wrote:
> > 
> > This patch series contains the initial VHDX log parsing, replay,
> > write support, and image creation.
> > 
> > === v6 changes ===
> > https://github.com/codyprime/qemu-kvm-jtc/tree/vhdx-write-v6-upstream
> > 
> > Rebased to latest qemu/master:
> > 
> > Patch 16/20: .bdrv_create() propagates Error, and bdrv_unref() used
> >              instead of bdrv_delete().
> > 
> > Patch 17 & 18 are already included in another series:
> >     [PATCH v3 0/3] qemu-iotests with sample images, vhdx test, cleanup
> > 
> > They are included here to provide a base for patches 19 & 20.  If the above
> > series is applied before this series, then patches 17 and 18 can be ignored.
> > 
> > Patch 19/20: In qemu-io tests _make_test_img(), filter out vhdx-specific
> >              options for .bdrv_create().
> > 
> > Patch 20/20: Add VHDX write test case to 064.
> 
> Sorry for the late review.  Feel free to poke Kevin or me if we're being
> slow - the squeaky wheel gets the grease.
> 
> I left comments on a couple of the core journal and write patches.  It
> looks pretty good overall.
> 
> How is the journal code tested?  IIUC the sample image file does not
> have a dirty journal.  Please try to include an image that Hyper-V
> created with a dirty journal so we can be sure flushing the journal
> works.

Getting Hyper-V generated files with journals is a bit challenging.
The methodology I've been using is a Linux guest under Hyper-V,
generating a lot of guest i/o that will cause metadata updates (e.g. dd
if=/dev/sda of=/dev/sdb, etc..). While this is going on, I hit the
reset button on the server.  Kinda messy, but it works, if not very
deterministically.  I initially tried just killing the process, but I
was unable to do that and obtain a dirty log.

The problems with the images I've created in this manner is they are
much too large to put in our repo.  However, if I write repetitive
data, that should allow the image to be compressed adequately... I'll
give that a try.

I've tested the other direction too (which is much easier) - create a
VHDX image under QEMU, leave a dirty journal, and then open the image
file with the dirty journal under Hyper-V.  It replayed it, and the
sha1sum of the affected file inside the image was correct after replay.

  reply	other threads:[~2013-10-01 14:15 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-25 21:02 [Qemu-devel] [PATCH v6 00/20] VHDX log replay and write support, .bdrv_create() Jeff Cody
2013-09-25 21:02 ` [Qemu-devel] [PATCH v6 01/20] block: vhdx - minor comments and typo correction Jeff Cody
2013-09-25 21:02 ` [Qemu-devel] [PATCH v6 02/20] block: vhdx - add header update capability Jeff Cody
2013-09-25 21:02 ` [Qemu-devel] [PATCH v6 03/20] block: vhdx code movement - VHDXMetadataEntries and BDRVVHDXState to header Jeff Cody
2013-09-25 21:02 ` [Qemu-devel] [PATCH v6 04/20] block: vhdx - log support struct and defines Jeff Cody
2013-09-25 21:02 ` [Qemu-devel] [PATCH v6 05/20] block: vhdx - break endian translation functions out Jeff Cody
2013-09-25 21:02 ` [Qemu-devel] [PATCH v6 06/20] block: vhdx - update log guid in header, and first write tracker Jeff Cody
2013-09-25 21:02 ` [Qemu-devel] [PATCH v6 07/20] block: vhdx code movement - move vhdx_close() above vhdx_open() Jeff Cody
2013-09-25 21:02 ` [Qemu-devel] [PATCH v6 08/20] block: vhdx - log parsing, replay, and flush support Jeff Cody
2013-10-01 11:31   ` Stefan Hajnoczi
2013-10-01 13:24     ` Jeff Cody
2013-10-02  8:57       ` Stefan Hajnoczi
2013-09-25 21:02 ` [Qemu-devel] [PATCH v6 09/20] block: vhdx - add region overlap detection for image files Jeff Cody
2013-10-01 11:42   ` Stefan Hajnoczi
2013-10-01 13:49     ` Jeff Cody
2013-09-25 21:02 ` [Qemu-devel] [PATCH v6 10/20] block: vhdx - add log write support Jeff Cody
2013-10-01 13:04   ` Stefan Hajnoczi
2013-10-01 13:26     ` Jeff Cody
2013-10-01 13:30   ` Stefan Hajnoczi
2013-09-25 21:02 ` [Qemu-devel] [PATCH v6 11/20] block: vhdx " Jeff Cody
2013-10-01 13:29   ` Stefan Hajnoczi
2013-10-01 13:55     ` Jeff Cody
2013-09-25 21:02 ` [Qemu-devel] [PATCH v6 12/20] block: vhdx - remove BAT file offset bit shifting Jeff Cody
2013-09-25 21:02 ` [Qemu-devel] [PATCH v6 13/20] block: vhdx - move more endian translations to vhdx-endian.c Jeff Cody
2013-10-01 13:35   ` Stefan Hajnoczi
2013-09-25 21:02 ` [Qemu-devel] [PATCH v6 14/20] block: vhdx - break out code operations to functions Jeff Cody
2013-09-25 21:03 ` [Qemu-devel] [PATCH v6 15/20] block: vhdx - fix comment typos in header, fix incorrect struct fields Jeff Cody
2013-09-25 21:03 ` [Qemu-devel] [PATCH v6 16/20] block: vhdx - add .bdrv_create() support Jeff Cody
2013-09-25 21:03 ` [Qemu-devel] [PATCH v6 17/20] block: qemu-iotests - add basic ability to use binary sample images Jeff Cody
2013-09-25 21:03 ` [Qemu-devel] [PATCH v6 18/20] block: qemu-iotests for vhdx, read sample dynamic image Jeff Cody
2013-09-27 12:58   ` Jeff Cody
2013-09-25 21:03 ` [Qemu-devel] [PATCH v6 19/20] block: vhdx - update _make_test_img() to filter out vhdx options Jeff Cody
2013-09-25 21:03 ` [Qemu-devel] [PATCH v6 20/20] block: qemu-iotests for vhdx, add write test support Jeff Cody
2013-09-27 12:55   ` Jeff Cody
2013-10-01 13:41 ` [Qemu-devel] [PATCH v6 00/20] VHDX log replay and write support, .bdrv_create() Stefan Hajnoczi
2013-10-01 14:15   ` Jeff Cody [this message]
2013-10-02  9:03     ` 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=20131001141546.GB18576@localhost.localdomain \
    --to=jcody@redhat.com \
    --cc=famz@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    --cc=stefanha@redhat.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).