mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2026-08-05 02:19:16 +00:00
queue.iter() errors used to be swallowed by handle_queue_iterator_error(), which marked the device as NEEDS_RESET and returned Ok so the worker kept running while disabled. spawn_virtio_thread now does the NEEDS_RESET marking when the worker exits with an error. Propagate the iterator error as Error::QueueIterator and escalate it to EpollHelperError::HandleEvent in process_queue_submit_and_signal so the worker exits. Per request errors stay logged. Drop the now unused handle_queue_iterator_error helper. No functional change for the guest. NEEDS_RESET is still set and the config interrupt is still raised on virtqueue corruption. Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>