This an optimization that slightly simplifies the SCSI target management. Currently if a session is started while an asynchronous SCSI target hotremove request is pending, the newly started session will inherit the target in the REMOVING state. It will be probably removed from that session in the next management poller tick, but all that complication is completely unnecessary. The session shouldn't have picked up the removed SCSI target when started. It could have simply checked that the target is being removed and could have ignored it. That's what this patch does. Since the hotremove event used the active session counter to determine if the removal was additionally deferred, it had to be refactored to use a separate per-request context, as there's no longer a direct relation between started sessions and sessions that still need to remove the target. Change-Id: Ib78765290fa337a7d0614e5efc271760e81e4e63 Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/449393 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> |
||
---|---|---|
.. | ||
rte_vhost | ||
Makefile | ||
rte_vhost_compat.c | ||
vhost_blk.c | ||
vhost_internal.h | ||
vhost_nvme.c | ||
vhost_rpc.c | ||
vhost_scsi.c | ||
vhost.c |