From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:55898) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UXYbx-00078N-Lv for qemu-devel@nongnu.org; Wed, 01 May 2013 11:06:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UXYbt-00063M-UH for qemu-devel@nongnu.org; Wed, 01 May 2013 11:06:25 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45142) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UXYbt-00063E-La for qemu-devel@nongnu.org; Wed, 01 May 2013 11:06:21 -0400 Date: Wed, 1 May 2013 11:06:16 -0400 From: Jeff Cody Message-ID: <20130501150616.GA3471@localhost.localdomain> References: <20130501124304.GD28932@stefanha-thinkpad.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20130501124304.GD28932@stefanha-thinkpad.redhat.com> Subject: Re: [Qemu-devel] [PATCH v3 0/4] Initial VHDX support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: kwolf@redhat.com, famz@redhat.com, qemu-devel@nongnu.org, stefanha@redhat.com 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