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