After recent refinement of LUN hotplug, it is possible that for large write I/O, primary task is freed doubly as a github issue is reported. However we could not notice the case because spdk_del_transfer_task() had not return success/failure, and to make matters worse, the second call of TAILQ_REMOVE() to the same header and instance caused no error if the first call succeeded. This patch changes spdk_del_transfer_task() to return success/failure. Besides, the next after patch expects the stub of spdk_del_transfer_task() returns true in the unit test, and hence do that. The next after patch will fix the issue of double free of primary task by using this patch. Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Change-Id: Ibc0b65723050362d5fafa913417b64393feb874e Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/475042 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> |
||
---|---|---|
.. | ||
conn.c | ||
init_grp.c | ||
iscsi.c | ||
param.c | ||
portal_grp.c | ||
tgt_node.c | ||
common.c | ||
Makefile |