Commit 5986a1b4 authored by yidong0635's avatar yidong0635 Committed by Tomasz Zawadzki
Browse files

test/bdevperf: construct a function bdevperf_end_task.



Extracting codes to a function, makes the more clear.

Signed-off-by: default avataryidong0635 <dongx.yi@intel.com>
Change-Id: I49ae7b4f07ebacbeaf0c03941aeefc4657317e3b
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5304


Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
parent a085705f
Loading
Loading
Loading
Loading
+17 −17
Original line number Diff line number Diff line
@@ -429,6 +429,21 @@ bdevperf_job_end(void *ctx)
	}
}

static void
bdevperf_end_task(struct bdevperf_task *task)
{
	struct bdevperf_job     *job = task->job;

	TAILQ_INSERT_TAIL(&job->task_list, task, link);
	if (job->is_draining) {
		if (job->current_queue_depth == 0) {
			spdk_put_io_channel(job->ch);
			spdk_bdev_close(job->bdev_desc);
			spdk_thread_send_msg(g_master_thread, bdevperf_job_end, NULL);
		}
	}
}

static void
bdevperf_queue_io_wait_with_cb(struct bdevperf_task *task, spdk_bdev_io_wait_cb cb_fn)
{
@@ -474,17 +489,7 @@ bdevperf_abort_complete(struct spdk_bdev_io *bdev_io, bool success, void *cb_arg
	}

	spdk_bdev_free_io(bdev_io);

	/* Return task to free list because abort is submitted on demand. */
	TAILQ_INSERT_TAIL(&job->task_list, task, link);

	if (job->is_draining) {
		if (job->current_queue_depth == 0) {
			spdk_put_io_channel(job->ch);
			spdk_bdev_close(job->bdev_desc);
			spdk_thread_send_msg(g_master_thread, bdevperf_job_end, NULL);
		}
	}
	bdevperf_end_task(task);
}

static void
@@ -550,12 +555,7 @@ bdevperf_complete(struct spdk_bdev_io *bdev_io, bool success, void *cb_arg)
	if (!job->is_draining) {
		bdevperf_submit_single(job, task);
	} else {
		TAILQ_INSERT_TAIL(&job->task_list, task, link);
		if (job->current_queue_depth == 0) {
			spdk_put_io_channel(job->ch);
			spdk_bdev_close(job->bdev_desc);
			spdk_thread_send_msg(g_master_thread, bdevperf_job_end, NULL);
		}
		bdevperf_end_task(task);
	}
}