Spdk/test
Darek Stojaczyk 73844cccf4 vhost: introduce device sessions
Grouped a few spdk_vhost_dev struct fields into a new
struct spdk_vhost_session. A session will represent the
connection between SPDK vhost device (vhost-user slave)
and QEMU (vhost-user master).

This essentially serves two purposes. The first is to
allow multiple simultaneous connections to a single
vhost device. Each connection (session) will have access
to the same storage, but will use separate virtqueues,
separate features and possibly different memory. For
Vhost-SCSI, this could be used together with the upcoming
SCSI reservations feature.

The other purpose is to untie devices from lcores and tie
sessions instead. This will potentially allow us to modify
the device struct from any thread, meaning we'll be able
to get rid of the external events API and simplify a lot
of the code that manages vhost - vhost RPC for instance.
Device backends themselves would be responsible for
propagating all device events to each session, but it could
be completely transparent to the upper layers.

Change-Id: I39984cc0a3ae2e76e0817d48fdaa5f43d3339607
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/437774
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2018-12-23 00:42:54 +00:00
..
app lib/trace: add 3 RPC method for tpoint_group_mask 2018-12-14 21:29:12 +00:00
bdev build: move app rules to spdk.app.mk 2018-12-12 22:35:21 +00:00
blobfs test/rocksdb: only use 2GB cache for per-patch testing 2018-12-13 21:52:12 +00:00
blobstore vbdev_crypto.c: Always initialize crypto drivers up front 2018-10-24 23:29:28 +00:00
common test/common: add stop.sh in ceph setup testting 2018-12-19 17:04:28 +00:00
config_converter nvmf: remove tgt_opts from nvmf_tgt 2018-11-08 23:08:26 +00:00
cpp_headers build: don't include spdk.app.mk in test/cpp_headers 2018-12-12 22:35:21 +00:00
env env: remove default pre-reserved memory size 2018-12-12 11:00:57 +00:00
event build: move app rules to spdk.app.mk 2018-12-12 22:35:21 +00:00
ioat ioat: remove ioat kperf kernel driver test harness 2018-04-30 17:11:53 +00:00
iscsi_tgt test: mark iscsi_initiator.sh as executable 2018-12-19 19:16:08 +00:00
json_config test/json_config: add passthru to clear_config.py 2018-11-12 20:14:32 +00:00
lvol test: modprobe nbd at the start of autotest 2018-11-26 18:17:28 +00:00
nvme util/crc16: Add init_crc parameter as seed value to spdk_crc16_t10dif 2018-12-18 17:28:56 +00:00
nvmf nvme_rdma: Add source addr info to RPC 2018-12-20 17:31:43 +00:00
pmem Check file permissions in the check_format script 2018-10-04 23:08:12 +00:00
rpc_client build: move app rules to spdk.app.mk 2018-12-12 22:35:21 +00:00
spdkcli test/spdkcli: Run different parts of tests with given spdk target. 2018-12-07 22:59:07 +00:00
unit vhost: introduce device sessions 2018-12-23 00:42:54 +00:00
vhost test/vhost: fix vhost nightly test 2018-12-10 22:02:39 +00:00
Makefile jsonrpc-client: add new C client library 2018-10-11 20:07:44 +00:00
spdk_cunit.h test: remove leftover spdk_cunit declaration 2018-07-06 22:47:56 +00:00