Spdk/lib
Shuhei Matsumoto a02ab95ebb iscsi: Bug fix for residual count when length of data transfer from SCSI was 0
This bug was caused by the following two changes:

iscsi: Remove duplication of the variable for write completion to bdev
https://review.gerrithub.io/#/c/393582/

iscsi: restore data_transferred accumulation for read
https://review.gerrithub.io/#/c/393713/

For write, bytes_completed is always equal to data_transferred. However,
for read, bytes_completed is based on expected data transfer length and
data_transferred is actual read size. Hence bytes_completed cannot be
used to calculate residual counts.

One of the reason why this bug cannot be found was that there was not any
test case when task->scsi.data_transferred is 0 and task->scsi.length is
not 0. Hence UT code is also added.

Same bug will occur for read sense data. Hence UT code for read sense data
is added in the next patch.

Change-Id: Ib1a283b769e5af0c2d05acb69f90948c5d658087
Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-on: https://review.gerrithub.io/417960
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2018-07-06 21:17:29 +00:00
..
bdev bdev: split examine into two parts 2018-07-06 21:12:53 +00:00
blob blobstore: Save the original size of the disk. 2018-06-28 17:58:31 +00:00
blobfs thread: Replace #include of io_channel.h with thread.h 2018-06-12 15:24:07 +00:00
conf conf: don't strdup name if section already exist 2018-05-17 17:13:19 +00:00
copy copy/ioat: Add scan_ioat_copy_engine RPC 2018-06-14 03:54:42 +00:00
env_dpdk env_dpdk: move 2MB alignment comment to correct position 2018-07-06 18:35:03 +00:00
event lib: return error in case of start_fn is null in spdk_app_start() 2018-06-27 20:52:37 +00:00
ioat ioat: fix typo on IOAT_DEFAULT_ORDER comment 2018-07-05 16:24:56 +00:00
iscsi iscsi: Bug fix for residual count when length of data transfer from SCSI was 0 2018-07-06 21:17:29 +00:00
json json: Add spdk_json_decode_uint16 2018-06-05 21:30:02 +00:00
jsonrpc jsonrpc: fix closed connection hadling 2018-06-08 18:11:18 +00:00
log app: reword -t option help string 2018-06-11 23:37:11 +00:00
lvol blobstore: add decouple parent function 2018-06-21 22:50:03 +00:00
nbd thread: Replace #include of io_channel.h with thread.h 2018-06-12 15:24:07 +00:00
net net: split sock abstraction into lib/sock 2018-06-22 17:09:57 +00:00
nvme nvme/pcie: do not assume tracker array memory is physically contiguous 2018-07-06 18:37:09 +00:00
nvmf nvme_spec: add VWC flush broadcast bits (TP 4035) 2018-06-26 22:51:37 +00:00
rocksdb thread: Replace #include of io_channel.h with thread.h 2018-06-12 15:24:07 +00:00
rpc rpc: Add option to get_rpc_methods RPC to output only currently usable RPCs 2018-05-04 17:45:48 +00:00
scsi scsi: Make scsi_lun_free_io_channel public 2018-07-02 21:29:50 +00:00
sock net: split sock abstraction into lib/sock 2018-06-22 17:09:57 +00:00
thread thread: send message for completion with no channels 2018-06-28 17:39:55 +00:00
trace app,lib: fix checking mmap return value 2018-03-30 16:18:34 -04:00
ut_mock test/mock: add pthread_self 2017-09-19 17:15:15 -04:00
util thread: Move threading abstraction code out of util 2018-06-12 15:24:07 +00:00
vhost vhost/scsi: do not fail scsi_dev_add_tgt() if hotplug is not supported 2018-07-05 01:51:22 +00:00
virtio virtio: move queue allocation to backend code 2018-07-06 19:16:16 +00:00
Makefile test: remove spdk_cunit library 2018-07-06 18:35:03 +00:00