Spdk/lib
Daniel Verkamp 6bf92c33e5 nbd: move initialization out of kernel thread
Send all of the initialization ioctls from the SPDK thread running
spdk_nbd_start(), rather than in the pthread spawned to handle the
blocking NBD_DO_IT ioctl.

This allows the parameter to the pthread to be a single value (dev_fd),
rather than a pointer to the whole spdk_nbd_disk, which fixes a race on
shutdown where the main thread is freeing the spdk_nbd_disk while the
kernel thread is accessing nbd->dev_fd to send the cleanup ioctls.

Change-Id: Ibe5ca4abac97ac567b294da1f8a92f12eece45b8
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/391021
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2017-12-11 11:11:25 -05:00
..
bdev virtio/rpc: fix construct_virtio_user_scsi_bdev 2017-12-08 12:17:19 -05:00
blob log: rename SPDK_TRACE_* to SPDK_LOG_* 2017-12-07 12:23:19 -05:00
blobfs log: rename SPDK_TRACE_* to SPDK_LOG_* 2017-12-07 12:23:19 -05:00
conf log: Use SPDK_ERRLOG in lieu of fprintf(stderr 2017-05-09 11:28:28 -07:00
copy event: Move spdk_poller_register to io_channel 2017-11-28 12:30:37 -05:00
cunit include: Move the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00
env_dpdk env: Use a file on /tmp instead of shm to claim 2017-12-05 23:20:36 -05:00
event nbd: add nbd as one event subsystem 2017-12-07 16:23:19 -05:00
ioat log: rename SPDK_TRACE_* to SPDK_LOG_* 2017-12-07 12:23:19 -05:00
iscsi rpc/iscsi: Dynamic reconfiguration of PG-IG maps 2017-12-07 12:28:02 -05:00
json json: add function to write UTF-16LE strings 2017-07-12 18:12:52 -04:00
jsonrpc log: rename SPDK_TRACE_* to SPDK_LOG_* 2017-12-07 12:23:19 -05:00
log log: rename SPDK_TRACE_* to SPDK_LOG_* 2017-12-07 12:23:19 -05:00
lvol log: rename SPDK_TRACE_* to SPDK_LOG_* 2017-12-07 12:23:19 -05:00
nbd nbd: move initialization out of kernel thread 2017-12-11 11:11:25 -05:00
net log: rename SPDK_TRACE_* to SPDK_LOG_* 2017-12-07 12:23:19 -05:00
nvme nvme_rdma: Add rdma_cm_event_str 2017-12-08 14:07:00 -05:00
nvmf nvmf: close all the bdevs when delete subsystems. 2017-12-08 17:14:40 -05:00
rocksdb event: Move spdk_poller_register to io_channel 2017-11-28 12:30:37 -05:00
rpc rpc: set g_jsonrpc_server to NULL on close 2017-11-28 16:20:47 -05:00
scsi scsi: use lun instead of its name as spdk_scsi_lun_delete param 2017-12-08 09:26:47 -05:00
trace trace: Move trace flags to separate implementation file 2017-11-15 18:57:12 -05:00
ut_mock test/mock: add pthread_self 2017-09-19 17:15:15 -04:00
util channel: Add spdk_for_each_thread 2017-11-28 15:29:35 -05:00
vhost vhost: Switch "Dev" keyword to "Target" 2017-12-08 09:25:49 -05:00
Makefile lvol: Logical volume implementation 2017-09-14 19:30:54 -04:00