Hi, As suggested by Paolo, this series drops xfsctl() calls where we have working fallocate() alternatives. (And thus replaces “block/file-posix: Fix xfs_write_zeroes()”.)
Unfortunately, we also use xfsctl() to inquire the request alignment for O_DIRECT, and this is the only way we currently have to obtain it without trying. Therefore, I didn’t quite like removing that call, too, so this series doesn’t get rid of xfsctl() completely. (If we did, we could delete 146 lines instead of these measly 76 here.) Anyway, dropping xfs_write_zeroes() will also fix the guest corruptions Lukáš has reported (for qcow2, but I think it should be possible to see similar corruptions with raw, although I haven’t investigated that too far). Max Reitz (2): block/file-posix: Reduce xfsctl() use iotests: Test reverse sub-cluster qcow2 writes block/file-posix.c | 77 +------------------------------------- tests/qemu-iotests/265 | 67 +++++++++++++++++++++++++++++++++ tests/qemu-iotests/265.out | 6 +++ tests/qemu-iotests/group | 1 + 4 files changed, 75 insertions(+), 76 deletions(-) create mode 100755 tests/qemu-iotests/265 create mode 100644 tests/qemu-iotests/265.out -- 2.21.0