bdevperf: Gather all of the job construction code into a single function
Keep it all in one place to make it easier to see. Change-Id: I8c2cc1b5da8ce431d7b1b5546440324db169e09c Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1509 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> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
This commit is contained in:
parent
59e40e0203
commit
f1dede62a3
@ -1070,6 +1070,22 @@ bdevperf_construct_job(struct spdk_io_channel_iter *i)
|
||||
return;
|
||||
}
|
||||
|
||||
block_size = spdk_bdev_get_block_size(ctx->bdev);
|
||||
data_block_size = spdk_bdev_get_data_block_size(ctx->bdev);
|
||||
|
||||
if (g_unmap && !spdk_bdev_io_type_supported(ctx->bdev, SPDK_BDEV_IO_TYPE_UNMAP)) {
|
||||
printf("Skipping %s because it does not support unmap\n", spdk_bdev_get_name(ctx->bdev));
|
||||
spdk_for_each_channel_continue(i, -ENOTSUP);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((g_io_size % data_block_size) != 0) {
|
||||
SPDK_ERRLOG("IO size (%d) is not multiples of data block size of bdev %s (%"PRIu32")\n",
|
||||
g_io_size, spdk_bdev_get_name(ctx->bdev), data_block_size);
|
||||
spdk_for_each_channel_continue(i, -ENOTSUP);
|
||||
return;
|
||||
}
|
||||
|
||||
job = calloc(1, sizeof(struct bdevperf_job));
|
||||
if (!job) {
|
||||
fprintf(stderr, "Unable to allocate memory for new job.\n");
|
||||
@ -1096,8 +1112,6 @@ bdevperf_construct_job(struct spdk_io_channel_iter *i)
|
||||
|
||||
job->bdev = bdev;
|
||||
|
||||
block_size = spdk_bdev_get_block_size(bdev);
|
||||
data_block_size = spdk_bdev_get_data_block_size(bdev);
|
||||
job->io_size_blocks = g_io_size / data_block_size;
|
||||
|
||||
job->buf_size = job->io_size_blocks * block_size;
|
||||
@ -1209,21 +1223,8 @@ get_next_bdevperf_reactor(void)
|
||||
static void
|
||||
_bdevperf_construct_jobs(struct spdk_bdev *bdev)
|
||||
{
|
||||
uint32_t data_block_size;
|
||||
struct construct_jobs_ctx *ctx;
|
||||
|
||||
if (g_unmap && !spdk_bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_UNMAP)) {
|
||||
printf("Skipping %s because it does not support unmap\n", spdk_bdev_get_name(bdev));
|
||||
return;
|
||||
}
|
||||
|
||||
data_block_size = spdk_bdev_get_data_block_size(bdev);
|
||||
if ((g_io_size % data_block_size) != 0) {
|
||||
SPDK_ERRLOG("IO size (%d) is not multiples of data block size of bdev %s (%"PRIu32")\n",
|
||||
g_io_size, spdk_bdev_get_name(bdev), data_block_size);
|
||||
return;
|
||||
}
|
||||
|
||||
ctx = calloc(1, sizeof(*ctx));
|
||||
if (ctx == NULL) {
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user