I/O tasks fail if fallocate() is available but returns EOPNOTSUPP
Any I/O tasks involving POSIX paths fail if the fallocate()
syscall is available but the underlying file system does not support preallocation. In this case, transferors fall back to ftruncate()
(which succeeds) but return the previous errno
set by the fallocate()
error.