in integrations/virtiofs/src/virtiofs.rs [86:112]
fn return_descriptor(
vring_state: &mut VringState,
head_index: u16,
event_idx: bool,
len: usize,
) {
if vring_state.add_used(head_index, len as u32).is_err() {
warn!("Failed to add used to used queue.");
};
// Check if the used queue needs to be signaled.
if event_idx {
match vring_state.needs_notification() {
Ok(needs_notification) => {
if needs_notification && vring_state.signal_used_queue().is_err() {
warn!("Failed to signal used queue.");
}
}
Err(_) => {
if vring_state.signal_used_queue().is_err() {
warn!("Failed to signal used queue.");
};
}
}
} else if vring_state.signal_used_queue().is_err() {
warn!("Failed to signal used queue.");
}
}