diff options
author | Nicholas Bellinger <nab@linux-iscsi.org> | 2017-09-30 02:43:11 +0300 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2017-11-08 06:45:28 +0300 |
commit | 9574a497df2bbc0a676b609ce0dd24d237cee3a6 (patch) | |
tree | 73459de4d7ed7b76647ee6b4c2dc896c2f1c8941 /include/target | |
parent | fd2f928b0ddd2fe8876d4f1344df2ace2b715a4d (diff) | |
download | linux-9574a497df2bbc0a676b609ce0dd24d237cee3a6.tar.xz |
target: Fix quiese during transport_write_pending_qf endless loop
This patch fixes a potential end-less loop during QUEUE_FULL,
where cmd->se_tfo->write_pending() callback fails repeatedly
but __transport_wait_for_tasks() has already been invoked to
quiese the outstanding se_cmd descriptor.
To address this bug, this patch adds a CMD_T_STOP|CMD_T_ABORTED
check within transport_write_pending_qf() and invokes the
existing se_cmd->t_transport_stop_comp to signal quiese
completion back to __transport_wait_for_tasks().
Cc: Mike Christie <mchristi@redhat.com>
Cc: Hannes Reinecke <hare@suse.com>
Cc: Bryant G. Ly <bryantly@linux.vnet.ibm.com>
Cc: Michael Cyr <mikecyr@linux.vnet.ibm.com>
Cc: Potnuri Bharat Teja <bharat@chelsio.com>
Cc: Sagi Grimberg <sagi@grimberg.me>
Cc: stable@vger.kernel.org # 4.11+
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'include/target')
0 files changed, 0 insertions, 0 deletions