On Wed, Jun 25, 2025 at 10:50:19AM +0200, Kevin Wolf wrote:
> For aio=threads, we're currently not implementing REQ_FUA in any useful
> way, but just do a separate raw_co_flush_to_disk() call. This changes
> behaviour compared to the old state, which used bdrv_co_flush() with its
> optimisations. As a quick fix, call bdrv_co_flush() again like before.
> Eventually, we can use pwritev2() to make use of RWF_DSYNC if available,
> but we'll still have to keep this code path as a fallback, so this fix
> is required either way.
> 
> While the fix itself is a one-liner, some new graph locking annotations
> are needed to convince TSA that the locking is correct.
> 
> Cc: qemu-sta...@nongnu.org
> Fixes: 984a32f17e8d ("file-posix: Support FUA writes")
> Buglink: https://issues.redhat.com/browse/RHEL-96854
> Reported-by: Tingting Mao <ti...@redhat.com>
> Signed-off-by: Kevin Wolf <kw...@redhat.com>
> ---
>  block/file-posix.c | 29 +++++++++++++++--------------
>  1 file changed, 15 insertions(+), 14 deletions(-)

Reviewed-by: Eric Blake <ebl...@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization:  qemu.org | libguestfs.org


Reply via email to