Spdk/test/unit/lib
Shuhei Matsumoto eb739d0364 iscsi: Fix the case that incoming data is split between data segment and data digest
When data segment size is 64KB and data digest is enabled, if
data segment and data digest are split into different two packets,
- pdu->mobj[0] became full first when reading data semgment,
- pdu->mobj[1] was allocated but unused and data digest was read.

In this case, two SCSI write tasks were submitted by mistake and
the second SCSI write task had no data.

Fix the bug in this patch.

When iscsi_pdu_payload_read() is called and pdu->mobj[0] is full,
allocate pdu->mobj[1] only if any of data segment remains to read.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I9a0c36c05f90092c3c2122a7eb91e10976830b40
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9965
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2021-11-11 23:22:57 +00:00
..
accel accel: create SW Engine Channel if HW Engine not supports 2021-10-20 23:04:38 +00:00
bdev test/unit/raid: fix set-but-not-used error 2021-11-03 18:30:55 +00:00
blob blob: use uint64_t for unmap and write_zeroes lba count 2021-10-14 08:17:16 +00:00
blobfs test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
dma dma: Update memory domain context structure 2021-10-20 22:55:52 +00:00
env_dpdk test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
event scheduler/dynamic: don't adjust tsc too much for very busy cores 2021-09-28 07:29:03 +00:00
ftl test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
idxd test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
init nvmf: Fix double controller destruction when subsys is deleted 2021-09-08 08:04:04 +00:00
ioat test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
iscsi iscsi: Fix the case that incoming data is split between data segment and data digest 2021-11-11 23:22:57 +00:00
json test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
jsonrpc test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
log test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
lvol test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
notify test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
nvme test/nvme: Only test non-contiguous namespaces for NVMe 1.2 or higher 2021-11-10 19:36:27 +00:00
nvmf nvmf: Add discovery filtering rules 2021-10-25 22:57:48 +00:00
reduce test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
rpc ut/rpc: wrap syscalls using spdk.mock.unittest.mk 2021-09-27 20:59:37 +00:00
scsi test/scsi: Fix uninitialized variable 2021-10-18 21:49:20 +00:00
sock test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
thread test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
util test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
vhost test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
json_mock.c ut/json_mock: Add spdk_json_write_string_fmt() 2021-02-09 11:29:53 +00:00
Makefile unittest/rpc: add rpc unittest 2021-09-06 09:55:33 +00:00