I've had another look at this and managed to get gdb working enough to step
through the source code.

It looks like raw_co_create(BlockdevCreateOptions *options, Error **errp)
in block\file-win32.c *always* calls set_sparse (which calls Win32's
underlying DeviceIoControl/FSCTL_SET_SPARSE). file-posix.c has some options
for "preallocation" and only creates sparse files when asked, but these
aren't supported for a Windows host in the code right now.

I'm not quite at the point where I could create a patch, but with some help
I could get it done.

--Adam

Reply via email to