Spdk/test/unit/lib/bdev
paul luse ebacdcd923 lib/bdev: don't issue a split IO if there are no IOVs
When splitting bdev's, if we run out of child IOVs, we have to
make sure that we end block aligned. That may require us to
shorten or eliminate one or more child IOVs to be picked up
on the next split.  If we eliminate enough such that there
are no IOVs for this split IO, just continue and the next
split completion will kick off another split to pick up
the remaining data to be transferred.

Fixes issue #981

Signed-off-by: paul luse <paul.e.luse@intel.com>
Change-Id: If2bfbe5f0862295e1d74cbea00692890a2178967
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/471313
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Community-CI: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
2019-10-23 17:03:50 +00:00
..
bdev_raid.c module/raid: replace hardcoded "0" with #define for RAID0 2019-09-30 20:35:03 +00:00
bdev.c lib/bdev: don't issue a split IO if there are no IOVs 2019-10-23 17:03:50 +00:00
compress.c ut/compress: add UT for boundary crossings w/vtophys 2019-09-20 14:53:25 +00:00
crypto.c ut: move all spdk_env_* mocks to test_env.c 2019-07-18 04:21:08 +00:00
gpt test/unit: remove duplicate mk/spdk.common.mk includes 2019-02-11 09:30:27 +00:00
mt bdev: Create generic _spdk_bdev_open function 2019-08-21 22:39:07 +00:00
part.c trace: remove short_name 2019-05-02 08:41:56 +00:00
pmem bdev: Not assert but pass completion status to spdk_bdev_io_get_buf_cb 2019-02-27 01:59:11 +00:00
scsi_nvme.c test/unit: remove duplicate mk/spdk.common.mk includes 2019-02-11 09:30:27 +00:00
vbdev_lvol.c bdev/vbdev_lvol: Fix scanbuild error about Null poniter parameter. 2019-07-23 00:17:25 +00:00
Makefile mk: standardize DIRS-x assignments. 2019-08-29 20:16:18 +00:00