diff --git a/lib/vhost/vhost_blk.c b/lib/vhost/vhost_blk.c index fe3dfaf5f..b80015377 100644 --- a/lib/vhost/vhost_blk.c +++ b/lib/vhost/vhost_blk.c @@ -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) {