]> git.baikalelectronics.ru Git - kernel.git/commit
tcm_fc: Generate TASK_SET_FULL status for DataIN failures
authorNicholas Bellinger <nab@linux-iscsi.org>
Thu, 5 Jun 2014 23:27:53 +0000 (16:27 -0700)
committerNicholas Bellinger <nab@linux-iscsi.org>
Fri, 6 Jun 2014 21:20:23 +0000 (14:20 -0700)
commit60b7ec2f792bb0a89a21b1e32edc5f3ecd6db970
tree5d7a9999d5cfc92ff4cd4ccc50d1ebea95f41334
parent95266d4b0979857aea3bb30692bc319028612abb
tcm_fc: Generate TASK_SET_FULL status for DataIN failures

This patch changes ft_queue_data_in() to set SAM_STAT_TASK_SET_FULL
status upon a lport->tt.seq_send() failure, where it will now stop
sending subsequent DataIN, and immediately attempt to send the
response with exception status.

Sending a response with SAM_STAT_TASK_SET_FULL status is useful in
order to signal the initiator that it should try to reduce it's
current queue_depth, to lower the number of outstanding I/Os on
the wire.

Also, add a check to skip sending DataIN if TASK_SET_FULL status
has already been set due to a response lport->tt.seq_send()
failure, that has asked target-core to requeue a response.

Reported-by: Vasu Dev <vasu.dev@linux.intel.com>
Reviewed-by: Vasu Dev <vasu.dev@linux.intel.com>
Cc: Jun Wu <jwu@stormojo.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/tcm_fc/tfc_io.c