Spdk/lib
Darek Stojaczyk f08a6eebd3 vhost: don't lock global vhost mutex when waiting for device start/stop
This fixes a potential deadlock:

Thread 2
 * stop_device()
   * lock(&g_spdk_vhost_mutex)
   * _spdk_vhost_event_send
     * sem_wait <- waiting for pending I/O on Thread 1 to complete

Thread 1
 * spdk_rpc_construct_vhost_blk_controller
   * lock(&g_spdk_vhost_mutex) <- prevents this thread from
                                  completing any I/O

Fixes #437

Change-Id: I50ab7bc6dcd161881650ff30362127e0069a3939
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/396577
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-09-28 18:46:11 +00:00
..
bdev crypto: move PMD driver input validation to common function 2018-09-28 18:43:04 +00:00
blob blobstore: Introduce io_unit size to blobstore. 2018-09-14 22:46:27 +00:00
blobfs blobfs: align rw buffer to lba of device underneath 2018-09-18 16:35:57 +00:00
conf conf: don't strdup name if section already exist 2018-05-17 17:13:19 +00:00
copy thread: Add a name parameter to spdk_register_io_device 2018-09-05 16:00:54 +00:00
env_dpdk env/dpdk: do not clean up DPDK 18.05 shared files 2018-09-28 18:34:55 +00:00
event nvmf: Remove invalid asserts 2018-09-20 03:54:34 +00:00
ioat ioat: change the return type of ioat_channel_destruct() to be void 2018-09-18 22:41:00 +00:00
iscsi iscsi: update iscsi trace config 2018-09-26 09:04:38 +00:00
json json: Add spdk_json_decode_uint16 2018-06-05 21:30:02 +00:00
jsonrpc jsonrpc: fix error path of spdk_jsonrpc_parse_request() 2018-08-31 17:41:58 +00:00
log app: allow full-name command line options 2018-08-13 17:30:10 +00:00
lvol lvol: _spdk_add_lvs_to_list: break loop immediately if find 2018-09-14 03:56:35 +00:00
nbd nbd: Encapsulate spdk_event usage in subsystem module 2018-09-05 19:32:37 +00:00
net lib: fix typos in the lib directory 2018-08-24 17:15:12 +00:00
nvme lib/nvme: add a check for valid namespace id 2018-09-28 18:36:25 +00:00
nvmf env_dpdk: spdk_mem_map_translate informs user of translation size. 2018-09-26 20:57:57 +00:00
rocksdb blobfs: add a new API to return file's unique ID 2018-08-29 16:29:22 +00:00
rpc rpc: g_rpc_lock_path: remove redundant plus 2018-09-04 22:21:04 +00:00
scsi trace: remove alias concept 2018-09-05 18:03:43 +00:00
sock sock: fix socket memory free 2018-08-10 15:38:38 +00:00
thread thread: Fix issue where a channel would be destroyed twice 2018-09-05 16:00:54 +00:00
trace trace: remove alias concept 2018-09-05 18:03:43 +00:00
ut_mock test: Simplify the mock library 2018-08-09 17:18:23 +00:00
util Clean up some incorrect Copyright statements 2018-07-30 16:29:38 +00:00
vhost vhost: don't lock global vhost mutex when waiting for device start/stop 2018-09-28 18:46:11 +00:00
virtio virtio: clarify feature negotiation failure 2018-08-01 19:16:54 +00:00
Makefile test: remove spdk_cunit library 2018-07-06 18:35:03 +00:00