app/spdk_dd: Use spdk_bdev_open_ext() instead of spdk_bdev_open()
This is a drop-in replacement. Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Change-Id: Icf8e90fee4a3ffc70f68e346cabbfc87591bab73 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4726 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
This commit is contained in:
parent
cda1d2cf11
commit
d163fc1820
@ -682,27 +682,27 @@ dd_open_file(struct dd_target *target, const char *fname, int flags, uint64_t sk
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
dd_bdev_event_cb(enum spdk_bdev_event_type type, struct spdk_bdev *bdev,
|
||||||
|
void *event_ctx)
|
||||||
|
{
|
||||||
|
SPDK_NOTICELOG("Unsupported bdev event: type %d\n", type);
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
dd_open_bdev(struct dd_target *target, const char *bdev_name, uint64_t skip_blocks)
|
dd_open_bdev(struct dd_target *target, const char *bdev_name, uint64_t skip_blocks)
|
||||||
{
|
{
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
target->type = DD_TARGET_TYPE_BDEV;
|
target->type = DD_TARGET_TYPE_BDEV;
|
||||||
target->u.bdev.bdev = spdk_bdev_get_by_name(bdev_name);
|
|
||||||
if (target->u.bdev.bdev == NULL) {
|
|
||||||
SPDK_ERRLOG("Could not find bdev %s\n", bdev_name);
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
|
|
||||||
target->block_size = spdk_bdev_get_block_size(target->u.bdev.bdev);
|
rc = spdk_bdev_open_ext(bdev_name, true, dd_bdev_event_cb, NULL, &target->u.bdev.desc);
|
||||||
target->total_size = spdk_bdev_get_num_blocks(target->u.bdev.bdev) * target->block_size;
|
|
||||||
|
|
||||||
rc = spdk_bdev_open(target->u.bdev.bdev, true, NULL, NULL, &target->u.bdev.desc);
|
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
SPDK_ERRLOG("Could not open bdev %s: %s\n", bdev_name, strerror(-rc));
|
SPDK_ERRLOG("Could not open bdev %s: %s\n", bdev_name, strerror(-rc));
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
target->u.bdev.bdev = spdk_bdev_desc_get_bdev(target->u.bdev.desc);
|
||||||
target->open = true;
|
target->open = true;
|
||||||
|
|
||||||
target->u.bdev.ch = spdk_bdev_get_io_channel(target->u.bdev.desc);
|
target->u.bdev.ch = spdk_bdev_get_io_channel(target->u.bdev.desc);
|
||||||
@ -712,6 +712,9 @@ dd_open_bdev(struct dd_target *target, const char *bdev_name, uint64_t skip_bloc
|
|||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
target->block_size = spdk_bdev_get_block_size(target->u.bdev.bdev);
|
||||||
|
target->total_size = spdk_bdev_get_num_blocks(target->u.bdev.bdev) * target->block_size;
|
||||||
|
|
||||||
g_opts.queue_depth = spdk_min(g_opts.queue_depth,
|
g_opts.queue_depth = spdk_min(g_opts.queue_depth,
|
||||||
(target->total_size / g_opts.io_unit_size) - skip_blocks + 1);
|
(target->total_size / g_opts.io_unit_size) - skip_blocks + 1);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user