Spdk/lib/vhost
Darek Stojaczyk 3fb1a9565e vhost: finish foreach_session chain always on the init thread
foreach_session() is used to e.g. close a bdev, where
for each session we close any io_channels and then,
on the final "finish" call, close the bdev descriptor.

The vhost init thread is the one that called
spdk_vhost_init() and also the same one that calls
all management APIs. One of those is for hotplugging
LUNs to vhost scsi targets, which practically results
in opening bdev descriptors.

By always scheduling that final foreach_session()
callback to the init thread, we end up with calling
spdk_bdev_close() always on the same thread which
called spdk_bdev_open(), which is actually a bdev
layer requirement.

Change-Id: I2338e15c63f93ef37dd4412dd677dee40d272ec2
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/459166
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2019-07-16 10:57:46 +00:00
..
rte_vhost rte_vhost: fix compilation against dpdk master 2019-06-12 05:29:02 +00:00
Makefile vhost: install external msg handling hooks to rte_vhost 2019-03-13 14:26:20 +00:00
rte_vhost_compat.c lib/vhost: Fix unaligned pointer value error 2019-06-17 07:18:48 +00:00
vhost_blk.c vhost: operate on poll groups instead of lcores 2019-07-01 12:50:57 +00:00
vhost_internal.h vhost: remove vsession->ev_ctx 2019-07-16 10:57:46 +00:00
vhost_nvme.c vhost: operate on poll groups instead of lcores 2019-07-01 12:50:57 +00:00
vhost_rpc.c configure: add option not to use the internal rte_vhost copy 2019-03-13 14:26:20 +00:00
vhost_scsi.c vhost: operate on poll groups instead of lcores 2019-07-01 12:50:57 +00:00
vhost.c vhost: finish foreach_session chain always on the init thread 2019-07-16 10:57:46 +00:00