bdevperf: Factor out queueing I/O waiting for buffer to a helper function
This is a preparation to use zcopy APIs for write I/O. Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Change-Id: I7c544fc08db029e1b5ff32458e53dcbb014a5722 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/467897 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
835c593c70
commit
6fed60cb32
@ -433,6 +433,17 @@ end_run(void *arg1, void *arg2)
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
bdevperf_queue_io_wait_with_cb(struct bdevperf_task *task, spdk_bdev_io_wait_cb cb_fn)
|
||||
{
|
||||
struct io_target *target = task->target;
|
||||
|
||||
task->bdev_io_wait.bdev = target->bdev;
|
||||
task->bdev_io_wait.cb_fn = cb_fn;
|
||||
task->bdev_io_wait.cb_arg = task;
|
||||
spdk_bdev_queue_io_wait(target->bdev, target->ch, &task->bdev_io_wait);
|
||||
}
|
||||
|
||||
static void
|
||||
bdevperf_complete(struct spdk_bdev_io *bdev_io, bool success, void *cb_arg)
|
||||
{
|
||||
@ -514,10 +525,7 @@ bdevperf_verify_submit_read(void *cb_arg)
|
||||
}
|
||||
|
||||
if (rc == -ENOMEM) {
|
||||
task->bdev_io_wait.bdev = target->bdev;
|
||||
task->bdev_io_wait.cb_fn = bdevperf_verify_submit_read;
|
||||
task->bdev_io_wait.cb_arg = task;
|
||||
spdk_bdev_queue_io_wait(target->bdev, target->ch, &task->bdev_io_wait);
|
||||
bdevperf_queue_io_wait_with_cb(task, bdevperf_verify_submit_read);
|
||||
} else if (rc != 0) {
|
||||
printf("Failed to submit read: %d\n", rc);
|
||||
target->is_draining = true;
|
||||
@ -699,10 +707,7 @@ bdevperf_submit_task(void *arg)
|
||||
}
|
||||
|
||||
if (rc == -ENOMEM) {
|
||||
task->bdev_io_wait.bdev = target->bdev;
|
||||
task->bdev_io_wait.cb_fn = bdevperf_submit_task;
|
||||
task->bdev_io_wait.cb_arg = task;
|
||||
spdk_bdev_queue_io_wait(target->bdev, ch, &task->bdev_io_wait);
|
||||
bdevperf_queue_io_wait_with_cb(task, bdevperf_submit_task);
|
||||
return;
|
||||
} else if (rc != 0) {
|
||||
printf("Failed to submit bdev_io: %d\n", rc);
|
||||
|
Loading…
Reference in New Issue
Block a user