I'm stuck on how to read the actual changed blocks from a host/vC.
I've called QueryChangedDiskAreas and got back a list of (start, length)s - these appears to be actual byte offsets.
Looking at VixDiskLib_Read() it seems to want sector based inputs.
/**
* Reads a sector range.
* @param diskHandle [in] Handle to an open virtual disk.
* @param startSector [in] Absolute offset.
* @param numSectors [in] Number of sectors to read.
* @param readBuffer [out] Buffer to read into.
* @return VIX_OK if success, suitable VIX error code otherwise.
*/
VixError
VixDiskLib_Read(VixDiskLibHandle diskHandle,
VixDiskLibSectorType startSector,
VixDiskLibSectorType numSectors,
uint8 *readBuffer);
How to I merge these two concepts into the ability to get the actual changed bytes from the VM ?
Is it just bad API design/documentation and the "sector" is really a byte (VixDiskLibSectorType is uint64 afterall) ?
Thanks,
richard.