Commit 8e54e10c authored by Paul Luse's avatar Paul Luse Committed by Changpeng Liu
Browse files

test: Add check to bdevperf to fail if IO size is not a block multiple



For those with fat fingers or really bad vision... previously bdevperf
would take a bogus size and try to make it work, if you used the verify
feature this could (or would in my case) result in a data miscompare.

Change-Id: Id5d4c4130c3d3c0606d6a243d2ca278e539684e9
Signed-off-by: default avatarPaul Luse <paul.e.luse@intel.com>
Reviewed-on: https://review.gerrithub.io/425883


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
parent 6c275b7a
Loading
Loading
Loading
Loading

test/bdev/bdevperf/bdevperf.c

100644 → 100755
+3 −2
Original line number Diff line number Diff line
@@ -231,8 +231,9 @@ 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",
		if (target->io_size_blocks == 0 ||
		    (g_io_size % spdk_bdev_get_block_size(bdev)) != 0) {
			SPDK_ERRLOG("IO size (%d) is bigger than blocksize of bdev %s (%"PRIu32") or not a blocksize multiple\n",
				    g_io_size, spdk_bdev_get_name(bdev), spdk_bdev_get_block_size(bdev));
			spdk_bdev_close(target->bdev_desc);
			free(target->name);