[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 0/4] Initial VHDX support
From: |
Jeff Cody |
Subject: |
Re: [Qemu-devel] [PATCH v3 0/4] Initial VHDX support |
Date: |
Wed, 1 May 2013 11:06:16 -0400 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Wed, May 01, 2013 at 02:43:04PM +0200, Stefan Hajnoczi wrote:
> On Mon, Apr 29, 2013 at 02:48:15PM -0400, Jeff Cody wrote:
> >
> > Differences from v2:
> >
> >
> > Patch 2/4: changed 2 uint8_t[16] to MSGUID (Kevin)
> > renamed all strucs to proper style (Kevin)
> > indentations / style (Kevin)
> > Removed/fixed outdated comments (Stefan)
> > dropped vhdx_header_padded (Kevin)
> >
> > Patch 3/4: removed hunk that was meant for old patch 5/5 (Fam)
> > check VHDX header version field (Fam)
> > validate file type id in open and not just probe (Kevin)
> > allow headers with seq # of 0 if other header is invalid (Kevin)
> > fixed masking typo for parent meta present (Kevin)
> > removed error check for 512-byte sectors (Kevin)
> > verify region and metadata table guid are unique (Kevin)
> > removed signed/unsigned comparisons (Stefan)
> > sanity checking on rt.entry_count (Stefan)
> > use clz_() instead of inline code (Stefan)
> > bat_rt.length sanity check - compute it rather
> > than trust the entry length (Stefan)
> >
> > Patch 5 (v2): Dropped
> >
> > This adds the initial support for VHDX image files.
> >
> > It currently only supports read operations of VHDX, for fixed and dynamic
> > files.
> >
> > Notably, the following is not yet supported:
> > * Differencing files
> > * Log replay (so we will refuse to open any images that are not 'clean')
> > * .bdrv_create()
> > * write operations other than to the header
> >
> >
> > Jeff Cody (4):
> > qemu: add castagnoli crc32c checksum algorithm
> > block: vhdx header for the QEMU support of VHDX images
> > block: initial VHDX driver support framework - supports open and probe
> > block: add read-only support to VHDX image format.
> >
> > block/Makefile.objs | 1 +
> > block/vhdx.c | 972
> > ++++++++++++++++++++++++++++++++++++++++++++++++++
> > block/vhdx.h | 325 +++++++++++++++++
> > include/qemu/crc32c.h | 35 ++
> > util/Makefile.objs | 1 +
> > util/crc32c.c | 115 ++++++
> > 6 files changed, 1449 insertions(+)
> > create mode 100644 block/vhdx.c
> > create mode 100644 block/vhdx.h
> > create mode 100644 include/qemu/crc32c.h
> > create mode 100644 util/crc32c.c
>
> Do you have links to vhdx files I can test?
>
I created a new VHDX file, because the ones I've been testing with
have grown too large to share easily. It is a 32GB dynamic image that
contains a single EXT4 partition:
https://www.dropbox.com/s/52q84zy2n59ix6h/TestDisk32GBDynamic-ext4.vhdx.7z
I'll keep this link around for a while, but it will eventually go
away.
Inside the ext4 partition there are 10 image files generated from
/dev/urandom, and corresponding SHA1 hashes in a single SHA1SUM file,
for verification.
Also, if you wish to check the SHA1SUM of the entire image from the
view of the guest (e.g. sha1sum /dev/vdb), the resulting hash should
be:
f897e5cadd3a0b1e776625caf79ed0eaf4baa3d8 /dev/vdb
(The above has was calculated from a Linux guest under Hyper-V 2012,
and verified with these patches and QEMU).
> Thanks, applied to my block tree:
> https://github.com/stefanha/qemu/commits/block
>
Thanks!
Jeff