vhost/vhost-user-backend/CHANGELOG.md
Jorge E. Moreira 8c00b8829f vhost-user-backend: Avoid losing vring kicks
By registering the file descriptors only when the queue is ready and
enabled. This fixes a race in which a buffer could be added to the queue
and the kick sent after registration but before it being enabled which
causes the kick to be lost and the event never delivered to the backend.
This was particularly prevalent when restoring a snapshot.

Signed-off-by: Jorge E. Moreira <jemoreira@google.com>
2026-02-26 09:13:22 +01:00

6 KiB

Changelog

[Unreleased]

Added

Changed

Deprecated

Fixed

  • [#343] Avoid losing vring kicks

v0.21.0

Changed

  • [#308] Replace Eventfd with EventNotifier/EventConsumer.
  • [#321] Don't take ownership of listener in VhostUserDaemon::start.
  • [#333] Updated virtio-queue to 0.17.0, vm-memory to 0.17.1, vmm-sys-util to 0.15.0 and vhost to 0.15.0

v0.20.0

Changed

  • [306] Updated virtio-queue to v0.16.0 and virtio-bindings to v0.2.6

v0.19.0

Changed

  • [299] Updated virtio-queue to v0.15.0 and virtio-bindings to v0.2.5

v0.18.0

Added

  • [#268] Add support for VHOST_USER_GET_SHARED_OBJECT

Changed

  • [#295] Updated vm-memory to 0.16.2 and vmm-sys-util to 0.14.0

v0.17.0

Added

  • [#266] Add support for VHOST_USER_RESET_DEVICE

Changed

  • [#269] Update vm-memory to 0.16.0 and virtio-queue to 0.13.0

v0.16.1

Fixed

  • [#267] Fix feature unification issues with gpu-socket feature.

v0.16.0 - yanked

This version got yanked because the gpu_socket feature introduced in this release was causing problems (see #265). Starting with the next version (v0.16.1), the gpu_socket feature was removed.

Added

  • [#241] Add shared objects support
  • [#239] Add support for VHOST_USER_GPU_SET_SOCKET

Changed

  • [#257] Update virtio-queue version from 0.12.0 to 0.13.0 and vm-memory from 0.14.0 to 0.15.0.
  • [#240] Move the set of event_idx property from set_vring_base callback to set_features one

v0.15.0

Changed

  • [#237] Update virtio-queue dependency to 0.12.0

v0.14.0

Added

  • [#203] Add back-end's internal state migration support
  • [#218] Adding POSTCOPY support
  • [#206] Add bitmap support for tracking dirty pages during migration

v0.13.1

Fixed

  • [#227] vhost-user-backend: Fix SET_VRING_KICK should not disable the vring

v0.13.0

Changed

  • [#224] vhost-user-backend: bump up MAX_MEM_SLOTS to 509

v0.12.0

Fixed

  • [#210] Enable all vrings upon receipt of VHOST_USER_SET_FEATURES message.
  • [#212] Validate queue index in VhostUserHandler::set_vring_base to avoid potential out-of-bounds panic.

Changed

  • [#214] Avoid indexing the same Vec multiple times by locally caching the result of Vec:get.
  • [#219] Update vmm-sys-util dependency to 0.12.1 and vm-memory dependency to 0.14.0.

v0.11.0

Added

  • [#173] vhost-user-backend: Added convenience function serve

Changed

  • [#187] Clean master slave
    • Replaced master/slave with frontend/backend in the codebase and public API.
  • [#192] vhost-user-backend: remove return value from handle_event
  • [#155] Converted generic type parameters of VhostUserBackend into associated types.
  • [#116] Upgrade to 2021 edition

v0.10.1

Fixed

  • [#180] vhost-user-backend: fetch 'used' index from guest

v0.10.0

Added

  • [#169] vhost-user-backend: Add support for Xen memory mappings

Fixed

  • [#161] get_vring_base should not reset the queue

v0.9.0

Added

  • [#138]: vhost-user-backend: add repository metadata

Changed

  • Updated dependency virtio-bindings 0.1.0 -> 0.2.0
  • Updated dependency virtio-queue 0.7.0 -> 0.8.0
  • Updated dependency vm-memory 0.10.0 -> 0.11.0

Fixed

  • [#154]: Fix return value of GET_VRING_BASE message
  • [#142]: vhost_user: Slave requests aren't only FS specific

v0.8.0

Added

  • [#120]: vhost_kern: vdpa: Add missing ioctls

Changed

  • Updated dependency vhost 0.5 -> 0.6
  • Updated dependency virtio-queue 0.6 -> 0.7.0
  • Updated depepdency vm-memory 0.9 to 0.10.0
  • Updated depepdency vmm-sys-util 0.10 to 0.11.0

v0.7.0

Changed

  • Started using caret dependencies
  • Updated dependency nix 0.24 -> 0.25
  • Updated depepdency log 0.4.6 -> 0.4.17
  • Updated dependency vhost 0.4 -> 0.5
  • Updated dependency virtio-queue 0.5.0 -> 0.6
  • Updated dependency vm-memory 0.7 -> 0.9

v0.6.0

Changed

  • Moved to rust-vmm/virtio-queue v0.5.0

Fixed

  • Fixed vring initialization logic

v0.5.1

Changed

  • Moved to rust-vmm/vmm-sys-util 0.10.0

v0.5.0

Changed

  • Moved to rust-vmm/virtio-queue v0.4.0

v0.4.0

Changed

  • Moved to rust-vmm/virtio-queue v0.3.0
  • Relaxed rust-vmm/vm-memory dependency to require ">=0.7"

v0.3.0

Changed

  • Moved to rust-vmm/vhost v0.4.0

v0.2.0

Added

  • Ability to run the daemon as a client
  • VringEpollHandler implements AsRawFd

v0.1.0

First release