test/bdevperf: fix arithmetic exception if io_size < block_size

Don't divide by 0.

Change-Id: Ib7978df1b9361f76c2d720744923e6e7d6c97718
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/398584
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Dariusz Stojaczyk 2018-02-06 14:40:41 +01:00 committed by Jim Harris
parent a54e7e584b
commit 25191ba7ab

View File

@ -219,6 +219,16 @@ bdevperf_construct_targets(void)
target->current_queue_depth = 0;
target->offset_in_ios = 0;
target->io_size_blocks = g_io_size / spdk_bdev_get_block_size(bdev);
if (target->io_size_blocks == 0) {
SPDK_ERRLOG("IO size (%d) is bigger than blocksize of bdev %s (%"PRIu32")\n",
g_io_size, spdk_bdev_get_name(bdev), spdk_bdev_get_block_size(bdev));
spdk_bdev_close(target->bdev_desc);
free(target->name);
free(target);
bdev = spdk_bdev_next_leaf(bdev);
continue;
}
target->size_in_ios = spdk_bdev_get_num_blocks(bdev) / target->io_size_blocks;
align = spdk_bdev_get_buf_align(bdev);
/*