On Fri, Sep 20, 2019 at 08:01:02PM +0800, Jin Yu wrote: > A vhost-user-blk example that support inflight feature. It uses the > new APIs that introduced in the first patch, so It can show how there
s/It/it/ s/there/these/ > APIs work to support inflight feature. > > Signed-off-by: Jin Yu <jin...@intel.com> > --- > V1 - add the case. > V2 - add the rte_vhost prefix. > V3 - add packed ring support > --- > examples/vhost_blk/Makefile | 67 ++ > examples/vhost_blk/blk.c | 125 +++ > examples/vhost_blk/blk_spec.h | 95 ++ > examples/vhost_blk/meson.build | 20 + > examples/vhost_blk/vhost_blk.c | 1313 +++++++++++++++++++++++++ > examples/vhost_blk/vhost_blk.h | 116 +++ > examples/vhost_blk/vhost_blk_compat.c | 195 ++++ > 7 files changed, 1931 insertions(+) I met some build issues when trying this example. examples/vhost_blk/vhost_blk.c: In function ‘descriptor_get_next_packed’: examples/vhost_blk/vhost_blk.c:71:21: error: invalid use of undefined type ‘struct vring_packed_desc’ if (vq->desc_packed[*idx % vq->size].flags & VIRTQ_DESC_F_NEXT) { ^ examples/vhost_blk/vhost_blk.c:71:21: error: dereferencing pointer to incomplete type ‘struct vring_packed_desc’ examples/vhost_blk/vhost_blk.c:73:26: error: invalid use of undefined type ‘struct vring_packed_desc’ return &vq->desc_packed[*idx % vq->size]; ^ examples/vhost_blk/vhost_blk.c: In function ‘inflight_submit_completion_packed’: examples/vhost_blk/vhost_blk.c:165:2: warning: ‘rte_vhost_set_last_inflight_io_packed’ is deprecated: Symbol is not yet part of stable ABI [-Wdeprecated-declarations] ret = rte_vhost_set_last_inflight_io_packed(ctrlr->bdev->vid, q_idx, ^~~ In file included from examples/vhost_blk/vhost_blk.c:17:0: x86_64-native-linuxapp-gcc/include/rte_vhost.h:810:1: note: declared here rte_vhost_set_last_inflight_io_packed(int vid, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ...