Spdk/lib
Dariusz Stojaczyk d4e19ecc1c vhost: use trylock inside async events body
This makes the async event body non-blocking
and also fixes potential deadlock scenario:
 * call_external_event() enqueues vhost_event
 * destroy_device() locks g_spdk_vhost_mutex
 * destroy_device() enqueues it's vhost_event
 * reactor dequeues events
  * cb from call_external_event is dequeued first
    * g_spdk_vhost_mutex is locked (deadlock)
 * destroy_device() times out, abort()

Change-Id: If8f51ada3ee5c47ba126f74187a40a285c001c77
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/380634
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-09-28 17:05:34 -04:00
..
bdev bdev/nvme: support large (> 2TB) unmap requests 2017-09-28 14:17:15 -04:00
blob blob_bdev: hotremove support 2017-09-28 12:46:18 -04:00
blobfs blobfs: Make the behaviour of "delete file" as unlink. 2017-09-15 17:13:14 -04:00
conf log: Use SPDK_ERRLOG in lieu of fprintf(stderr 2017-05-09 11:28:28 -07:00
copy copy: return 0 on success and appropriate errno on failure 2017-09-25 13:56:29 -04:00
cunit include: Move the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00
env_dpdk env: add pci_virtio.c 2017-09-26 14:28:24 -04:00
event reactor: add context_switch_monitor RPC 2017-09-01 12:46:18 -04:00
ioat copy: return 0 on success and appropriate errno on failure 2017-09-25 13:56:29 -04:00
iscsi iscsi: fix layout of logout request reason field 2017-09-22 16:11:11 -04:00
json json: add function to write UTF-16LE strings 2017-07-12 18:12:52 -04:00
jsonrpc log: rename SPDK_TRACELOG to SPDK_DEBUGLOG 2017-08-29 13:25:58 -04:00
log log: add new parm to spdk_trace_dump() 2017-09-06 17:33:03 -04:00
lvol lvol: fix incorrect assumption of 1MiB cluster_size 2017-09-27 17:27:13 -04:00
nbd nbd, nvmf: fix clang 4.0 packed member warnings 2017-09-07 12:15:45 -04:00
net log: remove uses of SPDK_TRACE_DEBUG 2017-08-29 15:07:13 -04:00
nvme nvme_spec: remove SGL Sub Type Invalid status code 2017-09-22 17:11:53 -04:00
nvmf nvmf: don't allow 0xFFFFFFFF as a NSID 2017-09-19 17:16:59 -04:00
rocksdb blob_bdev: hotremove support 2017-09-28 12:46:18 -04:00
rpc rpc: add get_rpc_methods RPC call 2017-08-01 13:43:14 -04:00
scsi Revert "scsi: remove LUN I/O channel ref counting" 2017-09-26 18:44:55 -04:00
trace lib: replace strerror with strerror_r 2017-08-15 16:47:01 -04:00
ut_mock test/mock: add pthread_self 2017-09-19 17:15:15 -04:00
util blob: defer calling unload callback until dev is destroyed 2017-09-26 19:10:28 -04:00
vhost vhost: use trylock inside async events body 2017-09-28 17:05:34 -04:00
Makefile lvol: Logical volume implementation 2017-09-14 19:30:54 -04:00