Re: [Qemu-devel] [PATCH v8 00/19] VHDX log replay and write support, .bdrv_create()

2013-11-06 Thread Stefan Hajnoczi
On Wed, Oct 30, 2013 at 10:44:37AM -0400, Jeff Cody wrote:
 This patch series contains the initial VHDX log parsing, replay,
 write support, and image creation.
 
 === v8 changes ===
 https://github.com/codyprime/qemu-kvm-jtc/tree/vhdx-write-v7-upstream
 
 Rebased to latest qemu/master
 
 Patch 10/19: * Added comments for bdrv_flush() (Stefan)
 
 Patch 11/19: * Added qemu_iovec_destroy(hd_qiov) (Stefan)
  * On certain _writev errors, restore BAT cache (Stefan)
 
 Patch 16/19: * Replaced fprintf(stderr,...) with error_setg_errno() (Stefan)
 
 Patch 18/19: * Added filter for block_state_zero in qemu-iotest/common.rc
 
 Patch 19/19: * Moved log replay test name to 068 (part of rebase to master)
 
 === v7 changes ===
 https://github.com/codyprime/qemu-kvm-jtc/tree/vhdx-write-v7-upstream
 
 Rebased to latest qemu/master (picked up vhdx r/o tests, migration blocker)
 
 Patch  8/19: * validate log descriptor_count (Stefan)
  * fix typos in comments (Stefan)
  * Removed unneccessary initialization (Stefan)
  * Replay log prior to metadata (Stefan)
  * In vhdx_log_flush(), call bdrv_flush() prior to zeroing
out the log guid in the header.
  * In vhdx_close(), set freed pointers to NULL
  
 Patch  9/19: * correct logic for region overlap (Stefan)
  
 Patch 10/19: * add missing goto exit in error case (Stefan)
  * add bdrv_flush() to ensure data is stable on disk (Stefan)
 
 Patch 11/19: * fixed typos in comments (Stefan)
  * QEMU coding style changes (Stefan)
  * rename bat_entry to bat_entry_le for clarity (Stefan)
  * Add PAYLOAD_BLOCK_ZERO explicit zero padding for
protocols that do not support zero init (Stefan)
  * rename PAYLOAD_BLOCK_FULL_PRESENT to 
PAYLOAD_BLOCK_FULLY_PRESENT (Stefan)
 
 Patch 13/19: * Fixed typo in commit message (Stefan)
 
 Patch 19/19: * New, adds qemu-io test for log replay of data sector
 
 v6 Patch 17/20: * Dropped (already upstream)
 v6 Patch 18/20: * Dropped (already upstream)
 
 
 
 === 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.
 
 
 === v5 changes ===
 
 v5 is also available for testing from:
 https://github.com/codyprime/qemu-kvm-jtc/tree/vhdx-write-v5-upstream
 
 Most of the patches from v4 - v5 are the same, but there are a few 
 differences
 and a few new patches.  Here is a summary of which patches are different 
 and/or
 new:
 
 Patch highlights:
 
 Patch 7  just some minor code movement, in prep for changes in patch 8
 
 Patch 8  incorporates review feedback from Stefan, for the previous Patch 7
  in v4.
 
 Patch 9  adds region checking for log, region table, and metadata tables, per
  suggestion from Stefan.
 
 Patch 10 minor change from changes made in 8/16 (vhdx_guid_is_zero() is gone)
 
 Patch 12 is just some minor housekeeping, to get rid of bit shifting that
  doesn't need to happen.
 
 
 
 === v4 changes ===  
 
 v4 patches are available from github as well, on branch 
 vhdx-write-v4-upstream:
 https://github.com/codyprime/qemu-kvm-jtc/tree/vhdx-write-v4-upstream
 https://github.com/codyprime/qemu-kvm-jtc.git
 
 Those in the midst of reviewing v3, don't fear - the only changes with v4 is
 the addition of patches on the end of the series (patches 10-13).  These
 patches enable creating VHDX images.  Image files created have been
 (briefly  lightly) tested on Hyper-V running on Windows Server 2012.
 
 Some of the new patches could be squashed with earlier patches in the series,
 but I refrained from doing so, since some of the patches have already been
 reviewed, and others are in the midst of review.  I want to make it as easy
 as possible on those currently reviewing. There is nothing critical
 that needs to be pushed into the earlier patches.
 
 New patches:
 
 Patch 10:  Breaks out some more endian translation functions
 (likely squashable into patch 5)
 
 Patch 11:  Break out some operations into seperate helper functions
 
 Patch 12:  More comment typos and header fixes in vhdx.h
 (likely squashable into patch 1)
 
 Patch 13:  Adds .bdrv_create() for vhdx.  VHDX images are can be created for
Fixed or Dynamic images.
 
 Patches 1-9 are unchanged.
 
 === end v4 changelog ===
 
 

Re: [Qemu-devel] [PATCH v8 00/19] VHDX log replay and write support, .bdrv_create()

2013-11-04 Thread Kevin Wolf
Am 01.11.2013 um 16:32 hat Jeff Cody geschrieben:
 On Thu, Oct 31, 2013 at 02:10:48PM +0100, Stefan Hajnoczi wrote:
  On Wed, Oct 30, 2013 at 10:44:37AM -0400, Jeff Cody wrote:
   This patch series contains the initial VHDX log parsing, replay,
   write support, and image creation.
   
   === v8 changes ===
   https://github.com/codyprime/qemu-kvm-jtc/tree/vhdx-write-v7-upstream
   
   Rebased to latest qemu/master
   
   Patch 10/19: * Added comments for bdrv_flush() (Stefan)
   
   Patch 11/19: * Added qemu_iovec_destroy(hd_qiov) (Stefan)
* On certain _writev errors, restore BAT cache (Stefan)
   
   Patch 16/19: * Replaced fprintf(stderr,...) with error_setg_errno() 
   (Stefan)
   
   Patch 18/19: * Added filter for block_state_zero in qemu-iotest/common.rc
   
   Patch 19/19: * Moved log replay test name to 068 (part of rebase to 
   master)
   
   === v7 changes ===
   https://github.com/codyprime/qemu-kvm-jtc/tree/vhdx-write-v7-upstream
   
   Rebased to latest qemu/master (picked up vhdx r/o tests, migration 
   blocker)
   
   Patch  8/19: * validate log descriptor_count (Stefan)
* fix typos in comments (Stefan)
* Removed unneccessary initialization (Stefan)
* Replay log prior to metadata (Stefan)
* In vhdx_log_flush(), call bdrv_flush() prior to zeroing
  out the log guid in the header.
* In vhdx_close(), set freed pointers to NULL

   Patch  9/19: * correct logic for region overlap (Stefan)

   Patch 10/19: * add missing goto exit in error case (Stefan)
* add bdrv_flush() to ensure data is stable on disk (Stefan)
   
   Patch 11/19: * fixed typos in comments (Stefan)
* QEMU coding style changes (Stefan)
* rename bat_entry to bat_entry_le for clarity (Stefan)
* Add PAYLOAD_BLOCK_ZERO explicit zero padding for
  protocols that do not support zero init (Stefan)
* rename PAYLOAD_BLOCK_FULL_PRESENT to 
  PAYLOAD_BLOCK_FULLY_PRESENT (Stefan)
   
   Patch 13/19: * Fixed typo in commit message (Stefan)
   
   Patch 19/19: * New, adds qemu-io test for log replay of data sector
   
   v6 Patch 17/20: * Dropped (already upstream)
   v6 Patch 18/20: * Dropped (already upstream)
   
   
   
   === 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.
   
   
   === v5 changes ===
   
   v5 is also available for testing from:
   https://github.com/codyprime/qemu-kvm-jtc/tree/vhdx-write-v5-upstream
   
   Most of the patches from v4 - v5 are the same, but there are a few 
   differences
   and a few new patches.  Here is a summary of which patches are different 
   and/or
   new:
   
   Patch highlights:
   
   Patch 7  just some minor code movement, in prep for changes in patch 8
   
   Patch 8  incorporates review feedback from Stefan, for the previous Patch 
   7
in v4.
   
   Patch 9  adds region checking for log, region table, and metadata tables, 
   per
suggestion from Stefan.
   
   Patch 10 minor change from changes made in 8/16 (vhdx_guid_is_zero() is 
   gone)
   
   Patch 12 is just some minor housekeeping, to get rid of bit shifting that
doesn't need to happen.
   
   
   
   === v4 changes ===  
   
   v4 patches are available from github as well, on branch 
   vhdx-write-v4-upstream:
   https://github.com/codyprime/qemu-kvm-jtc/tree/vhdx-write-v4-upstream
   https://github.com/codyprime/qemu-kvm-jtc.git
   
   Those in the midst of reviewing v3, don't fear - the only changes with v4 
   is
   the addition of patches on the end of the series (patches 10-13).  These
   patches enable creating VHDX images.  Image files created have been
   (briefly  lightly) tested on Hyper-V running on Windows Server 2012.
   
   Some of the new patches could be squashed with earlier patches in the 
   series,
   but I refrained from doing so, since some of the patches have already been
   reviewed, and others are in the midst of review.  I want to make it as 
   easy
   as possible on those currently reviewing. There is nothing critical
   that needs to be pushed into the earlier patches.
   
   New patches:
   
   Patch 10:  Breaks out some more endian translation 

Re: [Qemu-devel] [PATCH v8 00/19] VHDX log replay and write support, .bdrv_create()

2013-11-01 Thread Jeff Cody
On Thu, Oct 31, 2013 at 02:10:48PM +0100, Stefan Hajnoczi wrote:
 On Wed, Oct 30, 2013 at 10:44:37AM -0400, Jeff Cody wrote:
  This patch series contains the initial VHDX log parsing, replay,
  write support, and image creation.
  
  === v8 changes ===
  https://github.com/codyprime/qemu-kvm-jtc/tree/vhdx-write-v7-upstream
  
  Rebased to latest qemu/master
  
  Patch 10/19: * Added comments for bdrv_flush() (Stefan)
  
  Patch 11/19: * Added qemu_iovec_destroy(hd_qiov) (Stefan)
   * On certain _writev errors, restore BAT cache (Stefan)
  
  Patch 16/19: * Replaced fprintf(stderr,...) with error_setg_errno() (Stefan)
  
  Patch 18/19: * Added filter for block_state_zero in qemu-iotest/common.rc
  
  Patch 19/19: * Moved log replay test name to 068 (part of rebase to master)
  
  === v7 changes ===
  https://github.com/codyprime/qemu-kvm-jtc/tree/vhdx-write-v7-upstream
  
  Rebased to latest qemu/master (picked up vhdx r/o tests, migration blocker)
  
  Patch  8/19: * validate log descriptor_count (Stefan)
   * fix typos in comments (Stefan)
   * Removed unneccessary initialization (Stefan)
   * Replay log prior to metadata (Stefan)
   * In vhdx_log_flush(), call bdrv_flush() prior to zeroing
 out the log guid in the header.
   * In vhdx_close(), set freed pointers to NULL
   
  Patch  9/19: * correct logic for region overlap (Stefan)
   
  Patch 10/19: * add missing goto exit in error case (Stefan)
   * add bdrv_flush() to ensure data is stable on disk (Stefan)
  
  Patch 11/19: * fixed typos in comments (Stefan)
   * QEMU coding style changes (Stefan)
   * rename bat_entry to bat_entry_le for clarity (Stefan)
   * Add PAYLOAD_BLOCK_ZERO explicit zero padding for
 protocols that do not support zero init (Stefan)
   * rename PAYLOAD_BLOCK_FULL_PRESENT to 
 PAYLOAD_BLOCK_FULLY_PRESENT (Stefan)
  
  Patch 13/19: * Fixed typo in commit message (Stefan)
  
  Patch 19/19: * New, adds qemu-io test for log replay of data sector
  
  v6 Patch 17/20: * Dropped (already upstream)
  v6 Patch 18/20: * Dropped (already upstream)
  
  
  
  === 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.
  
  
  === v5 changes ===
  
  v5 is also available for testing from:
  https://github.com/codyprime/qemu-kvm-jtc/tree/vhdx-write-v5-upstream
  
  Most of the patches from v4 - v5 are the same, but there are a few 
  differences
  and a few new patches.  Here is a summary of which patches are different 
  and/or
  new:
  
  Patch highlights:
  
  Patch 7  just some minor code movement, in prep for changes in patch 8
  
  Patch 8  incorporates review feedback from Stefan, for the previous Patch 7
   in v4.
  
  Patch 9  adds region checking for log, region table, and metadata tables, 
  per
   suggestion from Stefan.
  
  Patch 10 minor change from changes made in 8/16 (vhdx_guid_is_zero() is 
  gone)
  
  Patch 12 is just some minor housekeeping, to get rid of bit shifting that
   doesn't need to happen.
  
  
  
  === v4 changes ===  
  
  v4 patches are available from github as well, on branch 
  vhdx-write-v4-upstream:
  https://github.com/codyprime/qemu-kvm-jtc/tree/vhdx-write-v4-upstream
  https://github.com/codyprime/qemu-kvm-jtc.git
  
  Those in the midst of reviewing v3, don't fear - the only changes with v4 is
  the addition of patches on the end of the series (patches 10-13).  These
  patches enable creating VHDX images.  Image files created have been
  (briefly  lightly) tested on Hyper-V running on Windows Server 2012.
  
  Some of the new patches could be squashed with earlier patches in the 
  series,
  but I refrained from doing so, since some of the patches have already been
  reviewed, and others are in the midst of review.  I want to make it as easy
  as possible on those currently reviewing. There is nothing critical
  that needs to be pushed into the earlier patches.
  
  New patches:
  
  Patch 10:  Breaks out some more endian translation functions
  (likely squashable into patch 5)
  
  Patch 11:  Break out some operations into seperate helper functions
  
  Patch 12:  More comment typos and header fixes in vhdx.h
  (likely 

Re: [Qemu-devel] [PATCH v8 00/19] VHDX log replay and write support, .bdrv_create()

2013-10-31 Thread Stefan Hajnoczi
On Wed, Oct 30, 2013 at 10:44:37AM -0400, Jeff Cody wrote:
 This patch series contains the initial VHDX log parsing, replay,
 write support, and image creation.
 
 === v8 changes ===
 https://github.com/codyprime/qemu-kvm-jtc/tree/vhdx-write-v7-upstream
 
 Rebased to latest qemu/master
 
 Patch 10/19: * Added comments for bdrv_flush() (Stefan)
 
 Patch 11/19: * Added qemu_iovec_destroy(hd_qiov) (Stefan)
  * On certain _writev errors, restore BAT cache (Stefan)
 
 Patch 16/19: * Replaced fprintf(stderr,...) with error_setg_errno() (Stefan)
 
 Patch 18/19: * Added filter for block_state_zero in qemu-iotest/common.rc
 
 Patch 19/19: * Moved log replay test name to 068 (part of rebase to master)
 
 === v7 changes ===
 https://github.com/codyprime/qemu-kvm-jtc/tree/vhdx-write-v7-upstream
 
 Rebased to latest qemu/master (picked up vhdx r/o tests, migration blocker)
 
 Patch  8/19: * validate log descriptor_count (Stefan)
  * fix typos in comments (Stefan)
  * Removed unneccessary initialization (Stefan)
  * Replay log prior to metadata (Stefan)
  * In vhdx_log_flush(), call bdrv_flush() prior to zeroing
out the log guid in the header.
  * In vhdx_close(), set freed pointers to NULL
  
 Patch  9/19: * correct logic for region overlap (Stefan)
  
 Patch 10/19: * add missing goto exit in error case (Stefan)
  * add bdrv_flush() to ensure data is stable on disk (Stefan)
 
 Patch 11/19: * fixed typos in comments (Stefan)
  * QEMU coding style changes (Stefan)
  * rename bat_entry to bat_entry_le for clarity (Stefan)
  * Add PAYLOAD_BLOCK_ZERO explicit zero padding for
protocols that do not support zero init (Stefan)
  * rename PAYLOAD_BLOCK_FULL_PRESENT to 
PAYLOAD_BLOCK_FULLY_PRESENT (Stefan)
 
 Patch 13/19: * Fixed typo in commit message (Stefan)
 
 Patch 19/19: * New, adds qemu-io test for log replay of data sector
 
 v6 Patch 17/20: * Dropped (already upstream)
 v6 Patch 18/20: * Dropped (already upstream)
 
 
 
 === 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.
 
 
 === v5 changes ===
 
 v5 is also available for testing from:
 https://github.com/codyprime/qemu-kvm-jtc/tree/vhdx-write-v5-upstream
 
 Most of the patches from v4 - v5 are the same, but there are a few 
 differences
 and a few new patches.  Here is a summary of which patches are different 
 and/or
 new:
 
 Patch highlights:
 
 Patch 7  just some minor code movement, in prep for changes in patch 8
 
 Patch 8  incorporates review feedback from Stefan, for the previous Patch 7
  in v4.
 
 Patch 9  adds region checking for log, region table, and metadata tables, per
  suggestion from Stefan.
 
 Patch 10 minor change from changes made in 8/16 (vhdx_guid_is_zero() is gone)
 
 Patch 12 is just some minor housekeeping, to get rid of bit shifting that
  doesn't need to happen.
 
 
 
 === v4 changes ===  
 
 v4 patches are available from github as well, on branch 
 vhdx-write-v4-upstream:
 https://github.com/codyprime/qemu-kvm-jtc/tree/vhdx-write-v4-upstream
 https://github.com/codyprime/qemu-kvm-jtc.git
 
 Those in the midst of reviewing v3, don't fear - the only changes with v4 is
 the addition of patches on the end of the series (patches 10-13).  These
 patches enable creating VHDX images.  Image files created have been
 (briefly  lightly) tested on Hyper-V running on Windows Server 2012.
 
 Some of the new patches could be squashed with earlier patches in the series,
 but I refrained from doing so, since some of the patches have already been
 reviewed, and others are in the midst of review.  I want to make it as easy
 as possible on those currently reviewing. There is nothing critical
 that needs to be pushed into the earlier patches.
 
 New patches:
 
 Patch 10:  Breaks out some more endian translation functions
 (likely squashable into patch 5)
 
 Patch 11:  Break out some operations into seperate helper functions
 
 Patch 12:  More comment typos and header fixes in vhdx.h
 (likely squashable into patch 1)
 
 Patch 13:  Adds .bdrv_create() for vhdx.  VHDX images are can be created for
Fixed or Dynamic images.
 
 Patches 1-9 are unchanged.
 
 === end v4 changelog ===
 
 

[Qemu-devel] [PATCH v8 00/19] VHDX log replay and write support, .bdrv_create()

2013-10-30 Thread Jeff Cody
This patch series contains the initial VHDX log parsing, replay,
write support, and image creation.

=== v8 changes ===
https://github.com/codyprime/qemu-kvm-jtc/tree/vhdx-write-v7-upstream

Rebased to latest qemu/master

Patch 10/19: * Added comments for bdrv_flush() (Stefan)

Patch 11/19: * Added qemu_iovec_destroy(hd_qiov) (Stefan)
 * On certain _writev errors, restore BAT cache (Stefan)

Patch 16/19: * Replaced fprintf(stderr,...) with error_setg_errno() (Stefan)

Patch 18/19: * Added filter for block_state_zero in qemu-iotest/common.rc

Patch 19/19: * Moved log replay test name to 068 (part of rebase to master)

=== v7 changes ===
https://github.com/codyprime/qemu-kvm-jtc/tree/vhdx-write-v7-upstream

Rebased to latest qemu/master (picked up vhdx r/o tests, migration blocker)

Patch  8/19: * validate log descriptor_count (Stefan)
 * fix typos in comments (Stefan)
 * Removed unneccessary initialization (Stefan)
 * Replay log prior to metadata (Stefan)
 * In vhdx_log_flush(), call bdrv_flush() prior to zeroing
   out the log guid in the header.
 * In vhdx_close(), set freed pointers to NULL
 
Patch  9/19: * correct logic for region overlap (Stefan)
 
Patch 10/19: * add missing goto exit in error case (Stefan)
 * add bdrv_flush() to ensure data is stable on disk (Stefan)

Patch 11/19: * fixed typos in comments (Stefan)
 * QEMU coding style changes (Stefan)
 * rename bat_entry to bat_entry_le for clarity (Stefan)
 * Add PAYLOAD_BLOCK_ZERO explicit zero padding for
   protocols that do not support zero init (Stefan)
 * rename PAYLOAD_BLOCK_FULL_PRESENT to 
   PAYLOAD_BLOCK_FULLY_PRESENT (Stefan)

Patch 13/19: * Fixed typo in commit message (Stefan)

Patch 19/19: * New, adds qemu-io test for log replay of data sector

v6 Patch 17/20: * Dropped (already upstream)
v6 Patch 18/20: * Dropped (already upstream)



=== 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.


=== v5 changes ===

v5 is also available for testing from:
https://github.com/codyprime/qemu-kvm-jtc/tree/vhdx-write-v5-upstream

Most of the patches from v4 - v5 are the same, but there are a few differences
and a few new patches.  Here is a summary of which patches are different and/or
new:

Patch highlights:

Patch 7  just some minor code movement, in prep for changes in patch 8

Patch 8  incorporates review feedback from Stefan, for the previous Patch 7
 in v4.

Patch 9  adds region checking for log, region table, and metadata tables, per
 suggestion from Stefan.

Patch 10 minor change from changes made in 8/16 (vhdx_guid_is_zero() is gone)

Patch 12 is just some minor housekeeping, to get rid of bit shifting that
 doesn't need to happen.



=== v4 changes ===  

v4 patches are available from github as well, on branch vhdx-write-v4-upstream:
https://github.com/codyprime/qemu-kvm-jtc/tree/vhdx-write-v4-upstream
https://github.com/codyprime/qemu-kvm-jtc.git

Those in the midst of reviewing v3, don't fear - the only changes with v4 is
the addition of patches on the end of the series (patches 10-13).  These
patches enable creating VHDX images.  Image files created have been
(briefly  lightly) tested on Hyper-V running on Windows Server 2012.

Some of the new patches could be squashed with earlier patches in the series,
but I refrained from doing so, since some of the patches have already been
reviewed, and others are in the midst of review.  I want to make it as easy
as possible on those currently reviewing. There is nothing critical
that needs to be pushed into the earlier patches.

New patches:

Patch 10:  Breaks out some more endian translation functions
(likely squashable into patch 5)

Patch 11:  Break out some operations into seperate helper functions

Patch 12:  More comment typos and header fixes in vhdx.h
(likely squashable into patch 1)

Patch 13:  Adds .bdrv_create() for vhdx.  VHDX images are can be created for
   Fixed or Dynamic images.

Patches 1-9 are unchanged.

=== end v4 changelog ===

=== v3 changes ===  

Thank you Kevin  Stefan for the feedback; incoporated in v3:

Patch 1: --- nil ---

Patch 2: * use sizeof(crc) instead of 4
 * remove outdated comment
 * use