mirror of
https://github.com/qemu/qemu.git
synced 2026-07-08 17:46:17 +00:00
With the kernel's zerocopy notification mechanism, the caller can determine whether * All syscalls successfully used zero copy * At least one syscall failed to use zero copy But, as of now QEMU's IO channel flush function semantics are like * 1 => all syscalls failed to use zero copy * 0 => at least one syscall successfully used zero copy This is not aligned with what the kernel reports, and ends up reporting false negatives for cases like when there's just a single successful zerocopy amongst a collection of deferred zero-copies during a flush. Fix this by inverting the return semantics of the IO flush function. Suggested-by: Peter Xu <peterx@redhat.com> Suggested-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Tejus GK <tejus.gk@nutanix.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>