Spdk/test
Jim Harris c9268075ab bdevperf: use uint64_t to save per-job length
When specifying -C for multithread mode, we calculate
a 'blocks_per_job' to tell each core what subset of
the bdev it should target with I/O.  But this
blocks_per_job, and the config->length member that it
gets copied to, were ints.  For devices with num
blocks > INT32_MAX, this can cause overflow if the
num blocks is also < UINT32_MAX (because then we end
up storing a negative value in the bdevperf's length
field).

For sequential workloads, it may take a long time until
it happens, but for random workloads it fails almost
immediately.

Fixes issue #2108.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I6c2b787ab5d3c6bfe12efd183ce86d4d95f9b6c6

Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9231
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Ziye Yang <ziye.yang@intel.com>
Reviewed-by: Dong Yi <dongx.yi@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-08-20 07:27:09 +00:00
..
accel_engine accel_engine test: Add the test case for accel_engine. 2021-01-21 15:49:40 +00:00
app nvme: Add spdk_nvme_detach_poll() to simplify a common use case 2021-06-30 22:54:19 +00:00
bdev bdevperf: use uint64_t to save per-job length 2021-08-20 07:27:09 +00:00
blobfs event: Shift subsystem initialization code to a separate library 2021-05-24 10:12:50 +00:00
blobstore scheduler: Change main core frequency dynamically 2021-01-22 18:31:25 +00:00
common build: don't put out-of-tree ocf build in build/ dir 2021-08-17 08:54:30 +00:00
compress test/nvmf: use recommended nvmf_create_subsystem rpc 2021-05-20 15:00:22 +00:00
config_converter scripts/config_converter: skip sections not present in legacy config 2021-01-15 08:32:10 +00:00
cpp_headers queue_extras: use SPDK_CONTAINEROF 2019-10-07 15:06:01 +00:00
dd autotest: Run dd tests under SPDK_TEST_URING 2021-05-20 15:15:33 +00:00
dpdk_memory_utility check_format: Ignore shellcheck's SC2128 and SC2178 directives 2021-06-30 22:43:05 +00:00
env test/env_dpdk_post_init: Use spdk_nvme_detach_async() 2021-06-30 22:54:19 +00:00
event test/scheduler: make activity of a thread % of time period 2021-07-12 21:58:56 +00:00
external_code nvme: Rename cmic.multi_host by cmic.multi_ctrlr of spdk_nvme_ctrlr_data 2021-07-13 08:57:33 +00:00
ftl test/ftl: Remove dead code 2021-07-30 08:21:32 +00:00
fuzz test/iscsi: remove VPP tests 2020-08-17 08:19:46 +00:00
interrupt test/intr: correct without-thread situation 2021-07-30 08:21:43 +00:00
ioat build: Example applications build to build/example 2020-06-15 15:27:16 +00:00
iscsi_tgt iscsi_tgt/rpc_config: Give some extra time for the process to die 2021-07-29 07:03:01 +00:00
json_config rpc: update a method create_pmem_pool 2021-07-13 08:58:21 +00:00
lvol test/lvol: rename lvol test script 2020-10-20 08:54:53 +00:00
make build: don't put out-of-tree ocf build in build/ dir 2021-08-17 08:54:30 +00:00
nvme markdownlint: enable rule MD013 - line_length 2021-08-05 07:42:35 +00:00
nvmf test/nvmf: Wait for net devices after they are moved from extra netns 2021-08-13 07:20:50 +00:00
ocf check_format: Fixes for shellcheck's SC2251 directive 2021-06-30 22:43:05 +00:00
openstack test/openstack: Enable securitygroup driver in neutron 2021-07-09 19:19:48 +00:00
pmem build: Output executables from the app directory to build/bin 2020-06-15 15:27:16 +00:00
rpc autotest: Use rpc_cmd() for rpc plugin-based tests 2021-04-02 08:22:42 +00:00
rpc_client build: use DEPDIRS variables to build SPDK_LIB_LIST 2020-12-18 09:40:01 +00:00
rpc_plugins autotest: Use rpc_cmd() for rpc plugin-based tests 2021-04-02 08:22:42 +00:00
scheduler test/scheduler: Check if load on all working CPUs is under 80% 2021-07-19 08:05:19 +00:00
setup test/setup: Ignore atari partition table 2021-08-12 12:56:59 +00:00
spdkcli autotest: Don't override default amount of hugepages on Linux to 8GB 2021-06-24 17:33:10 +00:00
unit bdev_nvme: Use new extended API 2021-08-20 07:26:10 +00:00
vhost test/vhost: Don't decompress vhost image each time vhosttestinit() is called 2021-08-05 07:42:53 +00:00
vmd test: replace VMD_WHITELIST with VMD_ALLOWED 2020-12-03 09:41:07 +00:00
Makefile build: add option to disable building unit tests 2020-03-10 09:12:21 +00:00
spdk_cunit.h test: remove leftover spdk_cunit declaration 2018-07-06 22:47:56 +00:00