Fully preallocated truncation has a 50 % chance of working on images
files over file-posix. It works if $SIZE % 4G < 2G, and it fails
otherwise. To make things even more interesting, often you would not
even notice because qemu reported success even though it did nothing
(because after the successful lseek(), errno was still 0, so when the
file-posix driver tried to return a negative error code, it actually
reported success).
This issue is fixed by patch 1 in this series. Thanks to Daniel for
reporting!
Max Reitz (2):
block/file-posix: Fix fully preallocated truncate
iotests: Test preallocated truncate of 2G image