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> |
||
---|---|---|
.. | ||
dev.c | ||
lun_db.c | ||
lun.c | ||
Makefile | ||
port.c | ||
scsi_bdev.c | ||
scsi_internal.h | ||
scsi_rpc.c | ||
scsi.c | ||
task.c |