a91d650245
fix #1: fix issue when setting outstanding bit array In the case where spdk_bit_array_get() is false after selecting an offset, we'd fail to set the outstanding bit in the array for that location based as it was included inside of the conditional that would have us try another. Switched the logic up to avoid needing a second check on g_verify. fix #2: fix offset_in_ios to be relative with the range of the job offset_in_ios was absolute but size of bit map array was the range of the job. The comment in the source file said it was relative, but did not match the code. Change offset_in_ios to be relative with the range of the job and use it for spdk_bit_array_set, spdk_bit_array_get, and spdk_bit_array_clear. fix #3: fix bit was not cleared when submission failed When bdevperf_submit_task() failed to submit, the corresponding bit was not cleared from job->outstanding. fix #4: fix bit was not cleared when submitted I/O failed. bdevperf_complete() had cleared bit only if the I/O succeeded. This bug is apparaent only when -C option is enabled. fixes issue #1329 Signed-off-by: paul luse <paul.e.luse@intel.com> Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Change-Id: I5b7e1d0b2e489b807906a94ed5d05da65067e6ab Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1736 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> |
||
---|---|---|
.. | ||
.gitignore | ||
bdevperf.c | ||
bdevperf.py | ||
Makefile |