numam-spdk/lib
GangCao dbeed703c2 rpc: remove the existing socket file when application starts
Currently if the application exits with some error (i.e., core
dump), the socket file is not removed. So that at next time the
RPC method can not enabled unless user manually removes the
socket file. The error of failing to start RPC is not that
obvious.

This patch introduces a lock for the reuse socket to properly
detect the only usage and handles the above error case particularly.

Refer to https://gavv.github.io/blog/unix-socket-reuse/ for the
details.

For the concern of the sockect file can be shared from different
applications, in the spdk_app_opts struct, it offers a parameter
to assign a specific socket file per application.

Change-Id: Ie2ef6af9207c468279cba5efd173fd06579ccdc7
Signed-off-by: GangCao <gang.cao@intel.com>
Reviewed-on: https://review.gerrithub.io/396089
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
2018-03-02 16:48:53 -05:00
..
bdev bdev/qos: add the QoS parameters for the bdev channel 2018-03-02 13:55:26 -05:00
blob Revert "blobstore: Add a blob_bs_dev that provides back_bs_dev for clones" 2018-03-02 15:05:45 -05:00
blobfs blobfs: cleanup and add comments in deleted file cleanup path 2018-03-02 15:30:32 -05:00
conf conf: Remove use of perror() for strdup() failure 2017-12-15 16:13:27 -05:00
copy build: remove $(ENV_CFLAGS) where not necessary 2018-01-03 12:05:59 -05:00
cunit include: Move the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00
env_dpdk bdev/virtio: added vhost-blk initiator 2018-03-02 13:41:38 -05:00
event lib/iscsi: Make iscsi subsystem init in an asynchronous way 2018-02-23 15:45:19 -05:00
ioat build: remove $(ENV_CFLAGS) where not necessary 2018-01-03 12:05:59 -05:00
iscsi lib/iscsi: Add a check for poll_group 2018-03-02 13:33:54 -05:00
json json: add va_arg versions for write_string and write_named_string 2018-02-23 15:27:16 -05:00
jsonrpc jsonrpc: add spdk_jsonrpc_send_error_response_fmt 2018-02-23 15:27:16 -05:00
log log: rename SPDK_TRACE_* to SPDK_LOG_* 2017-12-07 12:23:19 -05:00
lvol bdev: Added functions allowing logical volume rename. 2018-02-16 16:21:20 -05:00
nbd nbd: improve nbd to handle overlapped I/O 2018-01-16 09:59:21 -05:00
net lib: Return instead of exit in net 2018-03-02 13:33:03 -05:00
nvme nvme_pci: Correct bug in CMB allocation 2018-03-02 13:31:48 -05:00
nvmf Support for Commands Supported and Effects Log Page 2018-03-02 13:45:35 -05:00
rocksdb env_spdk: make sure the Randomaccessfile opened as rocksdb posix env. 2018-01-12 12:57:23 -05:00
rpc rpc: remove the existing socket file when application starts 2018-03-02 16:48:53 -05:00
scsi scsi: ensure bdlen is initialized before use 2018-01-24 16:45:49 -05:00
trace util: add spdk_strerror() wrapper with TLS support 2018-01-04 15:00:09 -05:00
ut_mock test/mock: add pthread_self 2017-09-19 17:15:15 -04:00
util util: add spdk_mem_all_zero() function 2018-02-23 10:05:32 -05:00
vhost vhost: always inline spdk_vhost_dev_has_feature 2018-02-20 12:35:21 -05:00
virtio virtio/user: implement get/set config messages 2018-02-23 15:37:11 -05:00
Makefile virtio: add new library virtio 2017-12-26 13:03:29 -05:00