diff options
author | Nicholas Bellinger <nab@linux-iscsi.org> | 2011-10-26 06:57:41 (GMT) |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2011-10-27 01:00:06 (GMT) |
commit | f147abb475ab47ce620cf3d18de5b3192c9fa7ed (patch) | |
tree | 2dddc11716663c387df52f102658c9812c62c54a /drivers/target/target_core_tmr.c | |
parent | 8cd79f24350826b81e16990d9e12bc878e67d385 (diff) | |
download | linux-f147abb475ab47ce620cf3d18de5b3192c9fa7ed.tar.xz |
target: Check -ENOMEM to signal QUEUE_FULL from fabric callbacks
This patch changes target core to also check for -ENOMEM from fabric callbacks
to signal QUEUE_FULL status, instead of just -EAGAIN in order to catch a
larger set of fabric failure cases that want to trigger QUEUE_FULL logic.
This includes the callbacks for ->write_pending(), ->queue_data_in() and
->queue_status().
It also makes transport_generic_write_pending() return zero upon QUEUE_FULL,
and removes two unnecessary -EAGAIN checks to catch write pending QUEUE_FULL
cases from transport_generic_new_cmd() failures in transport_handle_cdb_direct()
and transport_processing_thread():TRANSPORT_NEW_CMD_MAP state.
Reported-by: Bart Van Assche <bvanassche@acm.org>
Cc: Bart Van Assche <bvanassche@acm.org>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Roland Dreier <roland@purestorage.com>
Signed-off-by: Nicholas A. Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers/target/target_core_tmr.c')
0 files changed, 0 insertions, 0 deletions