mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2025-02-21 19:02:30 +00:00
virtio-devices: vhost_user: Don't set features twice
The virtio features are negotiated and set at the time the device is created, hence there's no need to set the features again while going through the vhost-user setup that is performed upon queue activation. Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
This commit is contained in:
parent
5d2df70a79
commit
334aa8c941
@ -222,7 +222,6 @@ impl VirtioDevice for Blk {
|
||||
queues,
|
||||
queue_evts,
|
||||
&interrupt_cb,
|
||||
self.common.acked_features,
|
||||
)
|
||||
.map_err(ActivateError::VhostUserBlkSetup)?;
|
||||
|
||||
|
@ -445,7 +445,6 @@ impl VirtioDevice for Fs {
|
||||
queues,
|
||||
queue_evts,
|
||||
&interrupt_cb,
|
||||
self.common.acked_features,
|
||||
)
|
||||
.map_err(ActivateError::VhostUserFsSetup)?;
|
||||
|
||||
|
@ -223,7 +223,6 @@ impl VirtioDevice for Net {
|
||||
queues,
|
||||
queue_evts,
|
||||
&interrupt_cb,
|
||||
self.common.acked_features,
|
||||
)
|
||||
.map_err(ActivateError::VhostUserNetSetup)?;
|
||||
|
||||
|
@ -68,7 +68,7 @@ pub fn add_memory_region(vu: &mut Master, region: &Arc<GuestRegionMmap>) -> Resu
|
||||
.map_err(Error::VhostUserAddMemReg)
|
||||
}
|
||||
|
||||
pub fn setup_vhost_user_vring(
|
||||
pub fn setup_vhost_user(
|
||||
vu: &mut Master,
|
||||
mem: &GuestMemoryMmap,
|
||||
queues: Vec<Queue>,
|
||||
@ -114,8 +114,6 @@ pub fn setup_vhost_user_vring(
|
||||
{
|
||||
vu.set_vring_call(queue_index, &eventfd)
|
||||
.map_err(Error::VhostUserSetVringCall)?;
|
||||
} else {
|
||||
return Err(Error::MissingIrqFd);
|
||||
}
|
||||
|
||||
vu.set_vring_kick(queue_index, &queue_evts[queue_index])
|
||||
@ -128,21 +126,6 @@ pub fn setup_vhost_user_vring(
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub fn setup_vhost_user(
|
||||
vu: &mut Master,
|
||||
mem: &GuestMemoryMmap,
|
||||
queues: Vec<Queue>,
|
||||
queue_evts: Vec<EventFd>,
|
||||
virtio_interrupt: &Arc<dyn VirtioInterrupt>,
|
||||
acked_features: u64,
|
||||
) -> Result<()> {
|
||||
// Set features based on the acked features from the guest driver.
|
||||
vu.set_features(acked_features)
|
||||
.map_err(Error::VhostUserSetFeatures)?;
|
||||
|
||||
setup_vhost_user_vring(vu, mem, queues, queue_evts, virtio_interrupt)
|
||||
}
|
||||
|
||||
pub fn reset_vhost_user(vu: &mut Master, num_queues: usize) -> Result<()> {
|
||||
for queue_index in 0..num_queues {
|
||||
// Disable the vrings.
|
||||
|
Loading…
x
Reference in New Issue
Block a user