numam-spdk/lib/bdev
Shuhei Matsumoto 3deaf00580 bdev: Fix wrong IO split when child iovs run out
When we ran out of child_iov space, ensure the iovs to be aligned
with block size. However the calculation was wrong.

(to_next_boundary_bytes % blocklen) meant not to_last_block but to_next_block.
So calculate to_last_block_size by reducing to_last_block_size from blocklen.

The data was collected when the issue occured. So add unit test
by using the data.

    Fixes #979

Reported-by: Geoffrey McRae <geoff@hostfission.com>

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I62a50bada450288ea7c60aec0e557c2a53cd8916
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/470806
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2019-10-11 00:35:34 +00:00
..
bdev_internal.h lib/bdev: Move some bdev.c static functions to internal header 2019-09-24 16:39:27 +00:00
bdev_rpc.c RPC: rename set_bdev_options to bdev_set_options 2019-09-24 16:42:41 +00:00
bdev_zone.c lib/bdev: Added spdk_bdev_zone_append() 2019-10-01 14:48:54 +00:00
bdev.c bdev: Fix wrong IO split when child iovs run out 2019-10-11 00:35:34 +00:00
Makefile lib/bdev: Zoned bdev public header 2019-09-24 16:39:27 +00:00
part.c bdev/part: add API to get name of bdev_part_base 2019-10-09 14:39:19 +00:00
scsi_nvme.c nvme: fix WRITE_TO_RO_RANGE status code 2019-08-14 02:19:49 +00:00
vtune.c mk: don't use '-include spdk/config.h' 2018-10-02 23:13:32 +00:00