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


Reply via email to