Spdk/test/unit/lib
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
..
bdev thread: Rename spdk_thread_msg to spdk_msg_fn 2018-12-18 23:31:08 +00:00
blob thread: Rename spdk_thread_msg to spdk_msg_fn 2018-12-18 23:31:08 +00:00
blobfs test: Use ut_multithread framework in blobfs async test 2018-12-20 15:49:39 +00:00
event build: remove duplicate spdk.app.mk includes 2018-12-11 18:07:53 +00:00
ioat pci: remove ioat-specific attach functions 2018-12-07 17:24:19 +00:00
iscsi build: remove duplicate spdk.app.mk includes 2018-12-11 18:07:53 +00:00
json json: add utilities function enabling itaration over JSON object 2018-10-18 16:07:37 +00:00
jsonrpc jsonrpc: call spdk_jsonrpc_free_request only from server thread 2018-08-13 20:01:07 +00:00
log build: remove duplicate spdk.app.mk includes 2018-12-11 18:07:53 +00:00
lvol test: Use ut_multithread framework in lvol unit test 2018-12-20 15:49:39 +00:00
nvme test/nvme: replace PAGE_SIZE with OCSSD_SECTOR_SIZE 2018-12-13 05:00:54 +00:00
nvmf nvmf: add the transport shared buffer num configuration option. 2018-12-20 19:55:57 +00:00
reduce reduce: calculate vol size from backing dev size 2018-12-13 14:55:39 +00:00
scsi thread: Rename spdk_thread_msg to spdk_msg_fn 2018-12-18 23:31:08 +00:00
sock build: remove duplicate spdk.app.mk includes 2018-12-11 18:07:53 +00:00
thread thread: Use TLS to accelerate thread look up 2018-12-14 18:54:03 +00:00
util util/crc16: Add spdk_crc16_t10dif_copy to use in read strip and write insert 2018-12-20 17:52:29 +00:00
vhost vhost: introduce device sessions 2018-12-23 00:42:54 +00:00
json_mock.c subsystem: add per module configuration dump 2018-03-23 02:47:40 -04:00
Makefile reduce: add configure option 2018-11-08 00:01:47 +00:00