3fd405c54a
In cases where initiator closes the connection as soon as it receives a hotremove event, there is a possibility of SPDK vhost stopping the session before finishing up the asynchronous target hotremoval. The target would be either hotremoved once the session is started again (and it registers its management poller again) or it could cause a potential memory leak if that session is destroyed. Even though the SCSI target itself is always freed, the hotremoval completion callback is only called from the management poller. At least in our RPC case, not calling that callback results in leaking the context structure and some json data. We fix the above by calling all hotremove callbacks just before stopping the device. Change-Id: Ibfd773e1ab82b63643c57d7a9d37304e3007e38b Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/439445 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Pawel Wodkowski <pawelx.wodkowski@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>