Spdk/lib
Dariusz Stojaczyk fc03485b9d scsi/lun: fix hotremove with no io_channels open
When LUN with no io_channels is being hotremoved,
the hotremove poller was being started on the core
pointed by lun->lcore. However, this field is only
valid when there are io_channels open. For example,
when user tries to delete a bdev that's attached to
an unused vhost controller (no io_channels ever opened)
the scsi layer could start a hotremove poller on
lun->lcore == 0. If SPDK runs on a different cpuset -
not containing CPU0 - SPDK could even segfault.

Change-Id: I31a363352875d944f220b0296d5cfe570319023d
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/371863
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-01-03 14:38:11 -05:00
..
bdev bdev/error: add bdev_part hotremove callback 2018-01-03 12:11:26 -05:00
blob build: remove $(ENV_CFLAGS) where not necessary 2018-01-03 12:05:59 -05:00
blobfs blob: change spdk_bs_iter_next parameter to spdk_blob * 2017-12-15 12:28:44 -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 env: export spdk_env_get_last_core function. 2017-12-23 15:08:24 -05:00
event build: remove $(ENV_CFLAGS) where not necessary 2018-01-03 12:05:59 -05:00
ioat build: remove $(ENV_CFLAGS) where not necessary 2018-01-03 12:05:59 -05:00
iscsi iscsi/conn: remove the libuns related comments. 2018-01-03 14:03:18 -05:00
json astyle: enforce braces around single-line statements 2017-12-11 11:19:32 -05: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 build: remove $(ENV_CFLAGS) where not necessary 2018-01-03 12:05:59 -05:00
nbd nbd: place mop-up ioctl to _nbd_stop 2017-12-26 12:09:35 -05:00
net astyle: enforce braces around single-line statements 2017-12-11 11:19:32 -05:00
nvme build: remove $(ENV_CFLAGS) where not necessary 2018-01-03 12:05:59 -05:00
nvmf build: remove $(ENV_CFLAGS) where not necessary 2018-01-03 12:05:59 -05:00
rocksdb astyle: enforce braces around single-line statements 2017-12-11 11:19:32 -05:00
rpc build: remove $(ENV_CFLAGS) where not necessary 2018-01-03 12:05:59 -05:00
scsi scsi/lun: fix hotremove with no io_channels open 2018-01-03 14:38:11 -05:00
trace trace: replace DPDK call with SPDK env.h wrapper 2017-12-12 15:37:05 -05:00
ut_mock test/mock: add pthread_self 2017-09-19 17:15:15 -04:00
util util: make spdk_strerror_r() return void 2018-01-03 14:04:59 -05:00
vhost vhost: don't check HOTPLUG feature flag when not necessary 2018-01-03 12:15:30 -05:00
virtio virtio: fix full-virtqueue handling 2018-01-03 14:35:36 -05:00
Makefile virtio: add new library virtio 2017-12-26 13:03:29 -05:00