mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2026-08-05 02:19:16 +00:00
virtio-devices: balloon: Fix use of usize for virtio queue index
This should be a u16 for consistency (as the number of queues is limited to u16). Signed-off-by: Rob Bradford <rbradford@meta.com>
This commit is contained in:
@@ -81,7 +81,7 @@ pub enum Error {
|
|||||||
#[error("Madvise fail.")]
|
#[error("Madvise fail.")]
|
||||||
MadviseFail(#[source] io::Error),
|
MadviseFail(#[source] io::Error),
|
||||||
#[error("Invalid queue index: {0}")]
|
#[error("Invalid queue index: {0}")]
|
||||||
InvalidQueueIndex(usize),
|
InvalidQueueIndex(u16),
|
||||||
#[error("Failed to signal")]
|
#[error("Failed to signal")]
|
||||||
FailedSignal(#[source] io::Error),
|
FailedSignal(#[source] io::Error),
|
||||||
#[error("Failed adding used index")]
|
#[error("Failed adding used index")]
|
||||||
@@ -270,10 +270,10 @@ impl BalloonEpollHandler {
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn process_queue(&mut self, queue_index: usize) -> result::Result<(), Error> {
|
fn process_queue(&mut self, queue_index: u16) -> result::Result<(), Error> {
|
||||||
let mut used_descs = false;
|
let mut used_descs = false;
|
||||||
while let Some(mut desc_chain) =
|
while let Some(mut desc_chain) =
|
||||||
self.queues[queue_index].pop_descriptor_chain(self.mem.memory())
|
self.queues[queue_index as usize].pop_descriptor_chain(self.mem.memory())
|
||||||
{
|
{
|
||||||
let data_chunk_size = size_of::<u32>();
|
let data_chunk_size = size_of::<u32>();
|
||||||
|
|
||||||
@@ -348,14 +348,14 @@ impl BalloonEpollHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
self.queues[queue_index]
|
self.queues[queue_index as usize]
|
||||||
.add_used(desc_chain.memory(), desc_chain.head_index(), 0)
|
.add_used(desc_chain.memory(), desc_chain.head_index(), 0)
|
||||||
.map_err(Error::QueueAddUsed)?;
|
.map_err(Error::QueueAddUsed)?;
|
||||||
used_descs = true;
|
used_descs = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if used_descs {
|
if used_descs {
|
||||||
self.signal(VirtioInterruptType::Queue(queue_index as u16))
|
self.signal(VirtioInterruptType::Queue(queue_index))
|
||||||
} else {
|
} else {
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user