block: vhdx - add region overlap detection for image files
Regions in the image file cannot overlap - the log, region tables,and metdata must all be unique and non-overlapping.
This adds region checking by means of a QLIST; there can be a variablenumber of regions and metadata (there may be metadata or region tables...
block: vhdx - add log write support
This adds support for writing to the VHDX log.
For spec details, see VHDX Specification Format v1.00:https://www.microsoft.com/en-us/download/details.aspx?id=34750
There are a few limitations to this log support:1.) There is no caching yet...
block: vhdx write support
This adds support for writing to VHDX image files, using coroutines.Writes into the BAT table goes through the VHDX log. Currently, BATtable writes occur when expanding a dynamic VHDX file, and allocating anew BAT entry.
Signed-off-by: Jeff Cody <jcody@redhat.com>...
block: vhdx - add header update capability.
This adds the ability to update the headers in a VHDX image, includinggenerating a new MS-compatible GUID.
As VHDX depends on uuid.h, VHDX is now a configurable build option. IfVHDX support is enabled, that will also enable uuid as well. The...
block: vhdx code movement - VHDXMetadataEntries and BDRVVHDXState to header.
In preparation for VHDX log support, move these structures to theheader.
Signed-off-by: Jeff Cody <jcody@redhat.com>Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
block: vhdx - log support struct and defines
This adds some magic number defines, and internal structure definitionsfor VHDX log replay support. The struct VHDXLogEntries does not reflectan on-disk data structure, and thus does not need to be packed....
block: vhdx - break endian translation functions out
This moves the endian translation functions out from the vhdx.c source,into a separate source file. In addition to the previously definedendian functions, new endian translation functions for log support are...
block: vhdx - update log guid in header, and first write tracker
Allow tracking of first file write in the VHDX image, as well asthe ability to update the GUID in the header. This is in preparationfor log support.
block: vhdx code movement - move vhdx_close() above vhdx_open()
block: vhdx - log parsing, replay, and flush support
This adds support for VHDX v0 logs, as specified in Microsoft'sVHDX Specification Format v1.00:https://www.microsoft.com/en-us/download/details.aspx?id=34750
The following support is added:
View all revisions | View revisions
Also available in: Atom