Hi,
Not sure if this is the right forum, but i hope it is.
I am writing an application that is designed to run on a ESXi5 server. It makes a snapshot of a VM and then opens the base -flat.vmdk file for reading.
The problem i have is the following:
When the VM is running the read()'s have to be in a multiple of 512 bytes, else read() returns a EINVAL. When the VM is not running, it is no problem to read even a single byte.
Can someone explain why the behaviour depends on if the VM is running or not?
And is there a way to solve this problem, other then adding a buffering layer that makes all read()'s multiples of 512 bytes.
Thanks in advance,
Remco Hosman