Commit 2a00a128 authored by zhangjf's avatar zhangjf Committed by Tomasz Zawadzki
Browse files

vhost_blk: need init task when resubmit the blk request



Change-Id: I10fca86be6a2834fe3238d8881a4645ac810a201
Signed-off-by: default avatarzhangjf <zjfhappy@126.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/482346


Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent 006abfec
Loading
Loading
Loading
Loading
+13 −8
Original line number Diff line number Diff line
@@ -119,6 +119,15 @@ blk_task_finish(struct spdk_vhost_blk_task *task)
	task->used = false;
}

static void
blk_task_init(struct spdk_vhost_blk_task *task)
{
	task->used = true;
	task->iovcnt = SPDK_COUNTOF(task->iovs);
	task->status = NULL;
	task->used_len = 0;
}

static void
invalid_blk_request(struct spdk_vhost_blk_task *task, uint8_t status)
{
@@ -237,6 +246,8 @@ blk_request_resubmit(void *arg)
	struct spdk_vhost_blk_task *task = (struct spdk_vhost_blk_task *)arg;
	int rc = 0;

	blk_task_init(task);

	rc = process_blk_request(task, task->bvsession, task->vq);
	if (rc == 0) {
		SPDK_DEBUGLOG(SPDK_LOG_VHOST_BLK, "====== Task %p resubmitted ======\n", task);
@@ -476,10 +487,7 @@ submit_inflight_desc(struct spdk_vhost_blk_session *bvsession,

		vsession->task_cnt++;

		task->used = true;
		task->iovcnt = SPDK_COUNTOF(task->iovs);
		task->status = NULL;
		task->used_len = 0;
		blk_task_init(task);

		rc = process_blk_request(task, bvsession, vq);
		if (rc == 0) {
@@ -534,10 +542,7 @@ process_vq(struct spdk_vhost_blk_session *bvsession, struct spdk_vhost_virtqueue

		vsession->task_cnt++;

		task->used = true;
		task->iovcnt = SPDK_COUNTOF(task->iovs);
		task->status = NULL;
		task->used_len = 0;
		blk_task_init(task);

		rc = process_blk_request(task, bvsession, vq);
		if (rc == 0) {