History | View | Annotate | Download (19.1 kB)
block: vhdx - improve error message, and .bdrv_check implementation
If there is a dirty log file to be replayed in a VHDX image, it isreplayed in .vhdx_open(). However, if the file is opened read-only,then a somewhat cryptic error message results.
This adds a more helpful error message for the user. If an image file...
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 - remove BAT file offset bit shifting
Bit shifting can be fun, but in this case it was unnecessary. Theupper 44 bits of the 64-bit BAT entry is specifies the File Offset,so we shifted the bits to get access to the value.
However, per the spec the value is in MB. So we dutifully shifted back...
block: vhdx - move more endian translations to vhdx-endian.c
In preparation for vhdx_create(), move more endian translationfunctions out to vhdx-endian.c.
Signed-off-by: Jeff Cody <jcody@redhat.com>Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
block: vhdx - fix comment typos in header, fix incorrect struct fields
VHDXPage83Data and VHDXParentLocatorHeader both incorrectly had theirMSGUID fields set as arrays of 16. This is incorrect (it stems froman early version where those fields were uint_8 arrays). Those fields...
block: vhdx - add .bdrv_create() support
This adds support for VHDX image creation, for images of type "Fixed" and "Dynamic". "Differencing" types (i.e., VHDX images with backingfiles) are currently not supported.
Options for image creation include: * log size:...
block: vhdx - minor comments and typo correction.
Just a couple of minor comments to help note where allocatedbuffers are freed, and a typo fix.
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.
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 - 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:
misc: Fix new typos in comments and strings
All these typos were found by codespell.
sould -> shouldemperical -> empiricalintialization -> initializationsuccessfuly -> successfullygaurantee -> guarantee
Fix also another error (before before) in the same context....
block: vhdx header for the QEMU support of VHDX images
This is based on Microsoft's VHDX specification: "VHDX Format Specification v0.95", published 4/12/2012 https://www.microsoft.com/en-us/download/details.aspx?id=29681
These structures define the various header, metadata, and other...
block: initial VHDX driver support framework - supports open and probe
This is the initial block driver framework for VHDX image support(i.e. Hyper-V image file formats), that supports opening VHDX files, andparsing the headers.
This commit does not yet enable:...