qemu-cr16/include
Haoqian He 5a317017b8 vhost: return failure if stop virtqueue failed in vhost_dev_stop
This patch captures the error of vhost_virtqueue_stop() in vhost_dev_stop()
and returns the error upward.

Specifically, if QEMU is disconnected from the vhost backend, some actions
in vhost_dev_stop() will fail, such as sending vhost-user messages to the
backend (GET_VRING_BASE, SET_VRING_ENABLE) and vhost_reset_status.

Considering that both set_vring_enable and vhost_reset_status require setting
the specific virtio feature bit, we can capture vhost_virtqueue_stop()'s
error to indicate that QEMU has lost connection with the backend.

This patch is the pre patch for 'vhost-user: return failure if backend crashes
when live migration', which makes the live migration aware of the loss of
connection with the vhost-user backend and aborts the live migration.

Signed-off-by: Haoqian He <haoqian.he@smartx.com>
Message-Id: <20250416024729.3289157-3-haoqian.he@smartx.com>
Tested-by: Lei Yang <leiyang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2025-05-14 05:39:14 -04:00
..
accel accel/tcg: Move TARGET_TAGGED_ADDRESSES to TCGCPUOps.untagged_addr 2025-05-05 09:24:10 -07:00
authz
block block: Remove unused callback function *bdrv_aio_pdiscard 2025-04-25 17:06:50 +02:00
chardev chardev/char-hub: implement backend chardev aggregator 2025-02-03 13:57:08 +04:00
crypto crypto: Remove qcrypto_tls_session_get_handshake_status 2025-02-14 15:19:03 -03:00
disas disas: Fix build against Capstone v6 (again) 2024-11-05 10:09:59 +00:00
exec include: Remove 'exec/exec-all.h' 2025-04-30 12:45:05 -07:00
fpu fpu: Move m68k_denormal fmt flag into floatx80_behaviour 2025-02-25 15:32:57 +00:00
gdbstub gdbstub/helpers: Introduce ldtul_$endian_p() helpers 2024-10-15 11:55:09 -03:00
hw vhost: return failure if stop virtqueue failed in vhost_dev_stop 2025-05-14 05:39:14 -04:00
io io: Add a read flag for relaxed EOF 2025-02-14 15:19:04 -03:00
libdecnumber
migration migration: Add save_postcopy_prepare() savevm handler 2025-05-02 11:09:36 -04:00
monitor monitor: Remove obsolete stubs 2024-06-30 19:51:44 +03:00
net net: checksum: Convert data to void * 2024-11-25 13:59:50 +08:00
qapi error: define g_autoptr() cleanup function for the Error type 2025-03-06 06:47:33 +01:00
qemu Pull request 2025-05-09 12:04:19 -04:00
qobject qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
qom qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
scsi
semihosting semihosting: Move user-only implementation out-of-line 2025-04-23 14:08:32 -07:00
standard-headers linux-headers: Update to Linux v6.15-rc3 2025-05-09 12:42:28 +02:00
system system/runstate: add VM state change cb with return value 2025-05-14 05:39:14 -04:00
tcg tcg: Define INSN_START_WORDS as constant 3 2025-05-01 07:37:13 -07:00
ui ui/egl: support multi-plane dmabuf when egl export/import 2025-05-06 13:39:42 +04:00
user accel/tcg: Remove TARGET_PAGE_DATA_SIZE 2025-05-05 09:24:10 -07:00
elf.h
glib-compat.h include/glib-compat.h: Poison g_list_sort and g_slist_sort 2025-05-06 16:02:04 +02:00
qemu-io.h
qemu-main.h ui & main loop: Redesign of system-specific main thread event handling 2024-12-31 21:21:34 +01:00