vhost-user-backend: SET_VRING_KICK not disabling the vring
This was introduced in 7f326dd314fdea0f98a19fa039c630b50deaec0b, but
doesn't work with qemu versions < 7.2. SET_FEATURES is received before
SET_VRING_KICK, we will enable the vrings in set_features() and disabled
them later in set_vring_kick().
Currently, the libvhostuser in qemu disables the vring upon receiving
RESET_OWNER, but that message is currently deprecated. There is not a
sane place to disable the vring, since according to the spec we can only
do that upon receiving RESET_OWNER (deprecated), RESET_DEVICE (currently
not supported in this crate), and SET_VRING_ENABLE.
The current state of the vhost-user spec is a mess, we need a more
formal spec that just a wall of english.
Signed-off-by: German Maglione <gmaglione@redhat.com>
diff --git a/vhost-user-backend/src/handler.rs b/vhost-user-backend/src/handler.rs
index c2676cb..83f5293 100644
--- a/vhost-user-backend/src/handler.rs
+++ b/vhost-user-backend/src/handler.rs
@@ -203,7 +203,6 @@
}
}
- vring.set_enabled(false);
vring.set_queue_ready(true);
Ok(())