This is a small continuation of my series about inflight migration for vhost-user-blk.
This series is designed to solve the problem of compatibility with older versions of qemu, where this feature has not yet been introduced (for example, if we want to downgrade versions due to some problems). In the current version for vhost-user-blk, this feature is enabled using the parameter and further migration of the inflight region will depend on whether the vhost-user has accepted the new protocol feature or not. This creates an inconvenient dependency, because there is no way to disable this feature without reconnecting to the backend. This series slightly changes the semantics of the introduced protocol feature VHOST_USER_PROTOCOL_F_GET_VRING_BASE_INFLIGHT. Enabling this feature adds a new parameter for GET_VRING_BASE message - skip_drain, which allows to control drain in-flight requests on the backend. Thus, user can enable or disable inflight-migration param for vhost-user-blk to maintain compatibility with older versions of QEMU. Alexandr Moshkov (4): vhost-user.rst: fix typo vhost-user: add skip_drain param to GET_VRING_BASE vhost-user: remove supports_inflight_migration vhost-user-blk: make inflight migration throught skip_drain backends/cryptodev-vhost.c | 2 +- backends/vhost-user.c | 2 +- docs/interop/vhost-user.rst | 5 +++-- hw/block/vhost-user-blk.c | 26 ++++++++++++++------------ hw/net/vhost_net.c | 9 +++++---- hw/scsi/vhost-scsi-common.c | 2 +- hw/virtio/vdpa-dev.c | 2 +- hw/virtio/vhost-user-base.c | 2 +- hw/virtio/vhost-user-fs.c | 2 +- hw/virtio/vhost-user-scmi.c | 2 +- hw/virtio/vhost-user.c | 3 +-- hw/virtio/vhost-vsock-common.c | 2 +- hw/virtio/vhost.c | 24 +++++++++++++++--------- include/hw/virtio/vhost-user.h | 1 - include/hw/virtio/vhost.h | 7 +++++-- 15 files changed, 51 insertions(+), 40 deletions(-) -- 2.34.1
