diff options
author | Nicholas Bellinger <nab@linux-iscsi.org> | 2012-02-13 11:38:14 +0100 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2012-02-25 23:37:49 +0100 |
commit | 3d28934aaae5e924afedf0f5cb42e1316514da6b (patch) | |
tree | 6a11e13b7da8187339f262c14726107ccb32eb1b /include/target | |
parent | target: Make target_release_cmd_kref release on empty list (diff) | |
download | linux-3d28934aaae5e924afedf0f5cb42e1316514da6b.tar.xz linux-3d28934aaae5e924afedf0f5cb42e1316514da6b.zip |
target: Add TMR_ABORT_TASK task management support
This patch adds initial support for TMR_ABORT_TASK ops for se_cmd
descriptors using se_sess->sess_cmd_list and se_cmd->cmd_kref counting.
It will perform an explict abort for all outstanding se_cmd ops based
upon tmr->ref_task_tag that have not been set CMD_T_COMPLETE.
It will cancel se_cmd->work and wait for backing I/O to complete before
attempting to send SAM_STAT_TASK_ABORTED and perform
target_put_sess_cmd() to release the referenced descriptor.
It also adds a CMD_T_ABORTED check into transport_complete_task() to
catch the completion from backend I/O that has been aborted, and
updates transport_wait_for_tasks() to allow CMD_T_ABORTED usage with
core_tmr_abort_task() context.
Reported-by: Roland Dreier <roland@purestorage.com>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'include/target')
0 files changed, 0 insertions, 0 deletions