• J
    block: vhdx - add .bdrv_create() support · 3412f7b1
    Jeff Cody 提交于
    This adds support for VHDX image creation, for images of type "Fixed"
    and "Dynamic".  "Differencing" types (i.e., VHDX images with backing
    files) are currently not supported.
    
    Options for image creation include:
        * log size:
            The size of the journaling log for VHDX.  Minimum is 1MB,
            and it must be a multiple of 1MB. Invalid log sizes will be
            silently fixed by rounding up to the nearest MB.
    
            Default is 1MB.
    
        * block size:
            This is the size of a payload block.  The range is 1MB to 256MB,
            inclusive, and must be a multiple of 1MB as well.  Invalid sizes
            and multiples will be silently fixed.  If '0' is passed, then
            a sane size is chosen (depending on virtual image size).
    
            Default is 0 (Auto-select).
    
        * subformat:
            - "dynamic"
                An image without data pre-allocated.
            - "fixed"
                An image with data pre-allocated.
    
            Default is "dynamic"
    
    When creating the image file, the lettered sections are created:
    
    -----------------------------------------------------------------.
    |   (A)    |   (B)    |    (C)    |     (D)       |     (E)
    |  File ID |  Header1 |  Header 2 |  Region Tbl 1 |  Region Tbl 2
    |          |          |           |               |
    .-----------------------------------------------------------------.
    0         64KB      128KB       192KB           256KB          320KB
    
    .---- ~ ----------- ~ ------------ ~ ---------------- ~ -----------.
    |     (F)     |     (G)       |    (H)    |
    | Journal Log |  BAT / Bitmap |  Metadata |  .... data ......
    |             |               |           |
    .---- ~ ----------- ~ ------------ ~ ---------------- ~ -----------.
    1MB         (var.)          (var.)      (var.)
    Signed-off-by: NJeff Cody <jcody@redhat.com>
    Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
    3412f7b1
vhdx.h 19.1 KB