diff options
| author | Jamie Wellnitz <[email protected]> | 2008-09-12 01:39:36 +0000 |
|---|---|---|
| committer | James Bottomley <[email protected]> | 2008-10-23 16:42:17 +0000 |
| commit | 10dab22664914505dcb804d9ad09cad6bc94d349 (patch) | |
| tree | 11c7737944fbe10147d4ef335ba91bd5d7b8f937 /lib/debugobjects.c | |
| parent | [SCSI] export busy state via q->lld_busy_fn() (diff) | |
| download | kernel-10dab22664914505dcb804d9ad09cad6bc94d349.tar.gz kernel-10dab22664914505dcb804d9ad09cad6bc94d349.zip | |
[SCSI] sd: Fix handling of NO_SENSE check condition
The current handling of NO_SENSE check condition is the same as
RECOVERED_ERROR, and assumes that in both cases, the I/O was fully
transferred.
We have seen cases of arrays returning with NO_SENSE (no error), but
the I/O was not completely transferred, thus residual set. Thus,
rather than return good_bytes as the entire transfer, set good_bytes
to 0, so that the midlayer then applies the residual in calculating
the transfer, and for sd, will fail the I/O and fall into a retry
path.
Signed-off-by: Jamie Wellnitz <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
Diffstat (limited to 'lib/debugobjects.c')
0 files changed, 0 insertions, 0 deletions
