Spdk/lib
Ben Walker 979d9997c9 io_channel: Fix race between put channel and get channel
Previously, there was a period of time where the user
had put the last reference to a channel, but when
calling to get a new channel would end up with the
previously created channel and channel destruction
would never execute.

This causes a number of unexpected issues to pop up,
as often the creation and destruction of a channel
is a key event.

Change-Id: Ie68135f6efdf45093a5a227f8c51cd11b971fcff
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/407602
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
2018-04-17 11:47:09 -04:00
..
bdev bdev: Wait for io device to unregister in bdev_part 2018-04-17 11:47:09 -04:00
blob blob: copy xattr name with memcpy() 2018-04-09 15:35:36 -04:00
blobfs blobfs: sync length if append occurs after cache eviction 2018-04-11 16:03:14 -04:00
conf conf: Remove use of perror() for strdup() failure 2017-12-15 16:13:27 -05:00
copy copy/ioat: reduce log level of informational messages 2018-04-06 18:31:54 -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_dpdk: track PCI devices internally for vtophys 2018-04-02 14:03:05 -04:00
event vhost: add JSON config dump 2018-04-16 19:27:33 -04:00
ioat scripts/check_format: check for spaces before tabs 2018-03-05 11:09:13 -05:00
iscsi iscsi: do static initialization of globals that allow it 2018-04-12 11:26:44 -04:00
json json: add va_arg versions for write_string and write_named_string 2018-02-23 15:27:16 -05:00
jsonrpc jsonrpc: convert send queue to singly linked tail queue 2018-04-12 00:11:35 -04:00
log log: rename SPDK_TRACE_* to SPDK_LOG_* 2017-12-07 12:23:19 -05:00
lvol lvol: add UUID to lvols snapshots and clones 2018-04-12 19:29:00 -04:00
nbd lib: Return instead of abort() in nbd 2018-03-13 13:41:50 -04:00
net include/net.h: remove non public functions to private header file 2018-04-11 12:10:14 -04:00
nvme nvme: Remove calls to getpid() when submitting nvme requests 2018-04-16 16:19:44 -04:00
nvmf nvmf: make the qpair disconnnect in the right order. 2018-04-17 01:58:36 -04:00
rocksdb rocksdb: remove nonsensical fallocate #ifdef 2018-03-27 12:41:12 -04:00
rpc rpc: remove the existing socket file when application starts 2018-03-02 16:48:53 -05:00
scsi scsi: validate dev name length 2018-04-10 15:43:03 -04:00
trace app,lib: fix checking mmap return value 2018-03-30 16:18:34 -04:00
ut_mock test/mock: add pthread_self 2017-09-19 17:15:15 -04:00
util io_channel: Fix race between put channel and get channel 2018-04-17 11:47:09 -04:00
vhost vhost: add JSON config dump 2018-04-16 19:27:33 -04:00
virtio virtio: don't silence vhost-user errors 2018-04-03 15:22:49 -04:00
Makefile virtio: add new library virtio 2017-12-26 13:03:29 -05:00