• F
    vmdk: fix cluster size check for flat extents · 301c7d38
    Fam Zheng 提交于
    We use the extent size as cluster size for flat extents (where no L1/L2
    table is allocated so it's safe) reuse sector calculating code with
    sparse extents.
    
    Don't pass in the cluster size for adding flat extent, just set it to
    sectors later, then the cluster size checking will not fail.
    
    The cluster_sectors is changed to int64_t to allow big flat extent.
    
    Without this, flat extent opening is broken:
    
        # qemu-img create -f vmdk -o subformat=monolithicFlat /tmp/a.vmdk 100G
        Formatting '/tmp/a.vmdk', fmt=vmdk size=107374182400 compat6=off subformat='monolithicFlat' zeroed_grain=off
        # qemu-img info /tmp/a.vmdk
        image: /tmp/a.vmdk
        file format: raw
        virtual size: 0 (0 bytes)
        disk size: 4.0K
    Signed-off-by: NFam Zheng <famz@redhat.com>
    Signed-off-by: NKevin Wolf <kwolf@redhat.com>
    301c7d38
vmdk.c 55.2 KB