mbox series

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

Message ID 20240712094617.565237-1-andrey.drobyshev@virtuozzo.com
Headers show
Series Fix data corruption within preallocation | expand

Message

Andrey Drobyshev July 12, 2024, 9:46 a.m. UTC
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(-)