cc5d0f0f61
Currently we stop the timers for all tasks in a command fairly late during I/O completion, which is fairly pointless and requires all kinds of safety checks. Instead delete pending timers early on in transport_complete_task, thus ensuring no new timers firest after that. We take t_state_lock a bit later in that function thus making sure currenly running timers are out of the criticial section. To be completely sure the timer has finished we also add another del_timer_sync call when freeing the task. This also allows removing TF_TIMER_RUNNING as it would be equivalent to TF_ACTIVE now. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org> |
||
---|---|---|
.. | ||
configfs_macros.h | ||
target_core_base.h | ||
target_core_configfs.h | ||
target_core_device.h | ||
target_core_fabric_configfs.h | ||
target_core_fabric_lib.h | ||
target_core_fabric_ops.h | ||
target_core_tmr.h | ||
target_core_tpg.h | ||
target_core_transport.h |