vhost: don't check indirect desc feature flag
Windows Virtio drivers use indirect descriptors without negotiating their feature flag, which is explicitly forbidden by the Virtio 1.0 spec. "(2.4.5.3.1 Driver Requirements: Indirect Descriptors) The driver MUST NOT set the VIRTQ_DESC_F_INDIRECT flag unless the VIRTIO_F_INDIRECT_DESC feature was negotiated.". Violating this rule doesn't cause any issues for SPDK vhost, but triggers an assert, so we can only run Windows VMs with non-debug SPDK builds. This patch removes the assert and allows Windows VMs to be run with debug versions of SPDK vhost. Fixes #650 Change-Id: I95f534c33c384a4e1126a8c343c21eb63ec7bcef Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/447803 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
This commit is contained in:
parent
5a77afa8fb
commit
c2a53da73c
@ -233,7 +233,6 @@ spdk_vhost_vq_get_desc(struct spdk_vhost_session *vsession, struct spdk_vhost_vi
|
||||
*desc = &virtqueue->vring.desc[req_idx];
|
||||
|
||||
if (spdk_vhost_vring_desc_is_indirect(*desc)) {
|
||||
assert(spdk_vhost_dev_has_feature(vsession, VIRTIO_RING_F_INDIRECT_DESC));
|
||||
*desc_table_size = (*desc)->len / sizeof(**desc);
|
||||
*desc_table = spdk_vhost_gpa_to_vva(vsession, (*desc)->addr,
|
||||
sizeof(**desc) * *desc_table_size);
|
||||
|
Loading…
Reference in New Issue
Block a user