On Sun, 08/18 17:19, Paolo Bonzini wrote:
> Il 13/08/2013 03:21, Fam Zheng ha scritto:
> > VMDK3 header has the field l1dir_size, but vmdk_open_vmdk3 hardcoded the
> > value. This patch honors the header field.
> > 
> > And the L2 table size is 4096 according to VMDK spec[1], instead of
> > 1 << 9 (512).
> 
> I'm not sure from the VMDK spec that _only_ 4096 is supported for VMDK3
> files.  The way I read it, VMDK3 files in hosted products are supposed
> to have 2K grain tables (as specified by vmdk_open_vmdk3).

I presume "COWD" is only specified in "ESXi Host Sparse Extents"
section, which is also in practice the only known use case to me. There
it says "Grain tables have 4096 entries."

I think you meant 2KB grain table specified in section "Hosted Sparse
Extent Metadata", with 512 entries. If so, it should be for VMDK4 with
"KDMV" magic bytes, so doesn't affect "COWD".

Fam
> 
> Perhaps we can check if L1size * 64 is enough to cover the whole file,
> and if not use 4096?
> 
> Paolo
> 
> > [1]:
> > http://www.vmware.com/support/developer/vddk/vmdk_50_technote.pdf?src=vmdk
> 

Reply via email to