[PATCH v2 0/2] Fix data corruption within preallocation

Andrey Drobyshev posted 2 patches 4 months, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240712094617.565237-1-andrey.drobyshev@virtuozzo.com
Maintainers: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>
There is a newer version of this series
block/preallocate.c        |  8 +++++++-
tests/qemu-iotests/298     | 34 ++++++++++++++++++++++++++++++++++
tests/qemu-iotests/298.out |  4 ++--
3 files changed, 43 insertions(+), 3 deletions(-)
[PATCH v2 0/2] Fix data corruption within preallocation
Posted by Andrey Drobyshev 4 months, 2 weeks ago
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