diff options
author | Nicholas Bellinger <[email protected]> | 2016-10-30 17:28:16 -0700 |
---|---|---|
committer | Nicholas Bellinger <[email protected]> | 2017-03-30 20:34:31 -0700 |
commit | fa7e25cf13a6d0b82b5ed1008246f44d42e8422c (patch) | |
tree | a1a773017aac54049b2fb9319283c149ef7a9b46 /tools/perf/scripts/python/export-to-postgresql.py | |
parent | abe342a5b4b5aa579f6bf40ba73447c699e6b579 (diff) |
target: Fix unknown fabric callback queue-full errors
This patch fixes a set of queue-full response handling
bugs, where outgoing responses are leaked when a fabric
driver is propagating non -EAGAIN or -ENOMEM errors
to target-core.
It introduces TRANSPORT_COMPLETE_QF_ERR state used to
signal when CHECK_CONDITION status should be generated,
when fabric driver ->write_pending(), ->queue_data_in(),
or ->queue_status() callbacks fail with non -EAGAIN or
-ENOMEM errors, and data-transfer should not be retried.
Note all fabric driver -EAGAIN and -ENOMEM errors are
still retried indefinately with associated data-transfer
callbacks, following existing queue-full logic.
Also fix two missing ->queue_status() queue-full cases
related to CMD_T_ABORTED w/ TAS status handling.
Reported-by: Potnuri Bharat Teja <[email protected]>
Reviewed-by: Potnuri Bharat Teja <[email protected]>
Tested-by: Potnuri Bharat Teja <[email protected]>
Cc: Potnuri Bharat Teja <[email protected]>
Reported-by: Steve Wise <[email protected]>
Cc: Steve Wise <[email protected]>
Cc: Sagi Grimberg <[email protected]>
Signed-off-by: Nicholas Bellinger <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions