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>
6 KiB
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
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_FEATURESmessage. - [#212] Validate queue index in
VhostUserHandler::set_vring_baseto 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