On 10/27/21 20:52, Richard W.M. Jones wrote:
 It turns out that VDDK 6.0 async support is present but broken,
which
 makes it hard to support this version.  If it was missing we could use
 an alternative codepath, but present-and-broken is difficult to deal
 with.  (There is no way to detect VDDK versions at run time.)
 
 Specifically it's a problem because the completion callback API
 changed between 6.0 and 6.5:
 
 < typedef void (*VixDiskLibCompletionCB)(void *cbData, uint64 sector,
 <                                        VixError result);
> typedef void (*VixDiskLibCompletionCB)(void *cbData, VixError result);
 
 Since the sector number parameter is usually != 0 and it masks the
 result parameter in the later API we think that every async call is
 returning an error.
 
 I think we would need to require VDDK 6.5 for this change.  That was
 released in November 2016 (5 years ago) and updating VDDK is no big
 deal. 
I agree, just require 6.5+.
Thanks
Laszlo