virtio-queue v0.5.0
andreeaflorescu
released this
26 Jul 13:30
·
198 commits
to main
since this release
v0.5.0
Added
- Added getters and setters for the Virtio Queue fields.
- Added the
state
method for retrieving theQueueState
of aQueue
.
Fixed
- Validate the state of the Virtio Queue when restoring from state and return errors on invalid
input.
Removed
- Removed the wrapper over the Virtio Queue that was wrapping the Guest Memory. VMMs can define this wrapper if needed, but this is no longer provided as part of virtio-queue crate so that the naming scheme can be simplified. As a consequence, a couple of functions now receive the memory as a parameter (more details in the Changed section).
- Removed
num_added
field from theQueueState
because this is an implementation detail of the notification suppression feature and thus should not be part of the state. - Removed
QueueGuard
andlock_with_memory
.
Changed
QueueState
is now renamed toQueue
.QueueStateSync
is now renamed toQueueSync
.- The
QueueState
structure now represents the state of theQueue
without any implementation details. This can be used for implementing save/restore. - Initializing a
Queue
now returns an error in case themax_size
is invalid. - The
Queue
fields are now private and can be updated only through the dedicated setters. - The following Queue methods now receive the memory as a parameter:
iter
,is_valid
,add_used
,needs_notification
,enable_notification
,disable_notification
,avail_idx
,used_idx
. - Use the constant definition from the
virtio-queue
crate.