019a5361a5
Currently we allocate buffers perf each SGL descriptor. That can lead to a problem when we use NVME bdev with PRP controller and length of the 1st SGL descriptor is not multiple of block size, i.e. the initiator may send PRP1 (which is SGL[0]) which end address is page aligned while start address is not aligned. This is allowed by the spec. But when we read such a data to a local buffer, start of the buffer is page aligned when its end is not. That violates PRP requirements and we can't handle such request. However if we use contig buffer to write both PRP1 and PRP2 (SGL[0] and SGL[1]) then we won't meet this problem. Some existing unit tests were updated, 1 new was added. Fixes github issue #1853 Change-Id: Ib2d56112b7b25e235d17bbc6df8dce4dc556e12d Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7259 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> |
||
---|---|---|
.. | ||
include | ||
lib | ||
Makefile | ||
unittest.sh |