64a268e2e1
By running random, 64KB, 70% write, and 30% read workload and periodical TCP disconnection from the initiator, segmentation fault have occurred. By investigation, when the last write task completed and dequeued the primary write task in spdk_iscsi_task_cpl(), the primary write task was already dequeued in spdk_clear_all_transfer_task(). This patch dequeues all primary write tasks after all outstanding tasks complete. After starting to exit the connection, the connection will not receive any command. Hence waiting for completion of all pending tasks first will avoid double dequeue safely. Change-Id: I8e2b6b756be3a6e096675acc81cdb93fb6a7e350 Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-on: https://review.gerrithub.io/430397 Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com> 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> |
||
---|---|---|
.. | ||
app | ||
bdev | ||
blobfs | ||
blobstore | ||
common | ||
config_converter | ||
cpp_headers | ||
env | ||
event | ||
ioat | ||
iscsi_tgt | ||
json_config | ||
lvol | ||
nvme | ||
nvmf | ||
pmem | ||
rpc_client | ||
spdkcli | ||
unit | ||
vhost | ||
Makefile | ||
spdk_cunit.h |