v1 -> v2: * Patch 1/2: get rid of the lock. Instead, simply update the file_end field before the write_zeroes operation.
This patch implements a much simpler logic w/o the locking compared to v1, and the problem seems to go away. However there still might be potential issues with the operations performed in other coroutines (e.g. truncate) and outside of the coroutine context (preallocate_set_perm() / preallocate_child_perm()). So the comments on this are most welcome. v1: https://lists.nongnu.org/archive/html/qemu-block/2024-07/msg00384.html Andrey Drobyshev (1): iotests/298: add testcase for async writes with preallocation filter Denis V. Lunev (1): block: zero data data corruption using prealloc-filter block/preallocate.c | 8 +++++++- tests/qemu-iotests/298 | 34 ++++++++++++++++++++++++++++++++++ tests/qemu-iotests/298.out | 4 ++-- 3 files changed, 43 insertions(+), 3 deletions(-) -- 2.39.3