mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2025-02-21 19:02:30 +00:00
virtio-devices: Remove VIRTIO_F_RING_PACKED from default virtio features
The cloud hypervisor tells the VM and the backend to support the PACKED_RING feature, but it actually processes various variables according to the split ring logic, such as last_avail_index. Eventually it will cause the following error (SPDK as an example): vhost.c: 516:vhost_vq_packed_ring_enqueue: *ERROR*: descriptor has been used before vhost_blk.c: 596:process_blk_task: *ERROR*: ====== Task 0x200113784640 req_idx 0 failed ====== vhost.c: 629:vhost_vring_desc_payload_to_iov: *ERROR*: gpa_to_vva((nil)) == NULL Signed-off-by: Arafatms <arafatms@outlook.com>
This commit is contained in:
parent
c46441c937
commit
3d4e27fa0a
@ -67,7 +67,6 @@ const VIRTIO_F_RING_INDIRECT_DESC: u32 = 28;
|
||||
const VIRTIO_F_RING_EVENT_IDX: u32 = 29;
|
||||
const VIRTIO_F_VERSION_1: u32 = 32;
|
||||
const VIRTIO_F_IOMMU_PLATFORM: u32 = 33;
|
||||
const VIRTIO_F_RING_PACKED: u32 = 34;
|
||||
const VIRTIO_F_IN_ORDER: u32 = 35;
|
||||
const VIRTIO_F_ORDER_PLATFORM: u32 = 36;
|
||||
#[allow(dead_code)]
|
||||
|
@ -5,7 +5,7 @@ use crate::{
|
||||
EpollHelper, EpollHelperError, EpollHelperHandler, GuestMemoryMmap, Queue, VirtioInterrupt,
|
||||
EPOLL_HELPER_EVENT_LAST, VIRTIO_F_IN_ORDER, VIRTIO_F_NOTIFICATION_DATA,
|
||||
VIRTIO_F_ORDER_PLATFORM, VIRTIO_F_RING_EVENT_IDX, VIRTIO_F_RING_INDIRECT_DESC,
|
||||
VIRTIO_F_RING_PACKED, VIRTIO_F_VERSION_1,
|
||||
VIRTIO_F_VERSION_1,
|
||||
};
|
||||
use std::io;
|
||||
use std::ops::Deref;
|
||||
@ -123,7 +123,6 @@ type Result<T> = std::result::Result<T, Error>;
|
||||
pub const DEFAULT_VIRTIO_FEATURES: u64 = 1 << VIRTIO_F_RING_INDIRECT_DESC
|
||||
| 1 << VIRTIO_F_RING_EVENT_IDX
|
||||
| 1 << VIRTIO_F_VERSION_1
|
||||
| 1 << VIRTIO_F_RING_PACKED
|
||||
| 1 << VIRTIO_F_IN_ORDER
|
||||
| 1 << VIRTIO_F_ORDER_PLATFORM
|
||||
| 1 << VIRTIO_F_NOTIFICATION_DATA
|
||||
|
Loading…
x
Reference in New Issue
Block a user