qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 0/9] VHDX log replay and write support
@ 2013-08-08  1:32 Jeff Cody
  2013-08-08  1:32 ` [Qemu-devel] [PATCH v3 1/9] block: vhdx - minor comments and typo correction Jeff Cody
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: Jeff Cody @ 2013-08-08  1:32 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, famz, stefanha

This patch series contains the initial VHDX log parsing, replay,
and write support.

=== 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 sizeof(MSGUID) instead of 16
         * direct assignment of guid structs rather than memcpy
         * rename 'rw' to 'generate_data_write_guid'
         * use offsetof() instead of 4
         * comment typos
         * add missing error checking
         * MSGUID is now QEMU_PACKED
         * configure enable for vhdx is now correct and not braindead

Patch 3: --- nil ---

Patch 4: * code style fixes
         * removed unused struct (VHDXLogEntryInfo)

Patch 5: * more direct assignment of guid rather than memcpy
         * order of operation in export/import the same now
         * became less generous with newlines (bah-humbug!)

Patch 6: * more direct assignment of guid rather than memcpy     
         * add error check in vhdx_user_visible_write(), now returns int

Patch 7: * check error return now of vhdx_user_visible_write()

Patch 8: * check error return now of vhdx_user_visible_write()
         * vhdx_log_write_sectors() uses bdrv_pwrite() vs bdrv_pwrite_sync()
         * more direct assignment of guid rather than memcpy     
         * use offsetof() instead of 4

Patch 9: --- nil ---

=== end v3 changelog ===

v2 changes:  Incorporated Fam's review feedback - Thank you Fam for the feedback

=== end v2 changelog ===

This will allow an existing log in a VHDX image to be replayed (e.g., a VHDX
image from a Hyper-V host that crashed).  In addition, metadata writes are
enabled through the log.  This allows write support to be enabled for VHDX,
as the BAT can be updated safely via the log journal.

These exact patches are available from github, for testing:
https://github.com/codyprime/qemu-kvm-jtc/tree/vhdx-write-v2-upstream

The latest vhdx work (including anything beyond these patches, such as
backing/parent file support) can be found at:
https://github.com/codyprime/qemu-kvm-jtc/tree/jtc-vhdx-latest

Jeff Cody (9):
  block: vhdx - minor comments and typo correction.
  block: vhdx - add header update capability.
  block: vhdx code movement - VHDXMetadataEntries and BDRVVHDXState to
    header.
  block: vhdx - log support struct and defines
  block: vhdx - break endian translation functions out
  block: vhdx - update log guid in header, and first write tracker
  block: vhdx - log parsing, replay, and flush support
  block: vhdx - add log write support
  block: vhdx write support

 block/Makefile.objs |    2 +-
 block/vhdx-endian.c |  141 +++++++
 block/vhdx-log.c    | 1011 +++++++++++++++++++++++++++++++++++++++++++++++++++
 block/vhdx.c        |  399 ++++++++++++++------
 block/vhdx.h        |  135 +++++--
 configure           |   24 ++
 6 files changed, 1585 insertions(+), 127 deletions(-)
 create mode 100644 block/vhdx-endian.c
 create mode 100644 block/vhdx-log.c

-- 
1.8.1.4

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2013-08-08  1:39 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-08  1:32 [Qemu-devel] [PATCH v3 0/9] VHDX log replay and write support Jeff Cody
2013-08-08  1:32 ` [Qemu-devel] [PATCH v3 1/9] block: vhdx - minor comments and typo correction Jeff Cody
2013-08-08  1:32 ` [Qemu-devel] [PATCH v3 2/9] block: vhdx - add header update capability Jeff Cody
2013-08-08  1:32 ` [Qemu-devel] [PATCH v3 3/9] block: vhdx code movement - VHDXMetadataEntries and BDRVVHDXState to header Jeff Cody
2013-08-08  1:32 ` [Qemu-devel] [PATCH v3 4/9] block: vhdx - log support struct and defines Jeff Cody
2013-08-08  1:32 ` [Qemu-devel] [PATCH v3 5/9] block: vhdx - break endian translation functions out Jeff Cody
2013-08-08  1:32 ` [Qemu-devel] [PATCH v3 6/9] block: vhdx - update log guid in header, and first write tracker Jeff Cody
2013-08-08  1:32 ` [Qemu-devel] [PATCH v3 7/9] block: vhdx - log parsing, replay, and flush support Jeff Cody
2013-08-08  1:32 ` [Qemu-devel] [PATCH v3 8/9] block: vhdx - add log write support Jeff Cody
2013-08-08  1:32 ` [Qemu-devel] [PATCH v3 9/9] block: vhdx " Jeff Cody
2013-08-08  1:39 ` [Qemu-devel] [PATCH v3 0/9] VHDX log replay and " Jeff Cody

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