| 555 | } |
| 556 | |
| 557 | static int |
| 558 | alloc_task_pool(struct vhost_blk_ctrlr *ctrlr) |
| 559 | { |
| 560 | struct vhost_blk_queue *vq; |
| 561 | int i, j; |
| 562 | |
| 563 | for (i = 0; i < NUM_OF_BLK_QUEUES; i++) { |
| 564 | vq = &ctrlr->queues[i]; |
| 565 | |
| 566 | vq->tasks = rte_zmalloc(NULL, |
| 567 | sizeof(struct vhost_blk_task) * vq->vring.size, 0); |
| 568 | if (!vq->tasks) { |
| 569 | fprintf(stderr, "Failed to allocate task memory\n"); |
| 570 | return -1; |
| 571 | } |
| 572 | |
| 573 | for (j = 0; j < vq->vring.size; j++) { |
| 574 | vq->tasks[j].req_idx = j; |
| 575 | vq->tasks[j].ctrlr = ctrlr; |
| 576 | vq->tasks[j].vq = vq; |
| 577 | } |
| 578 | } |
| 579 | |
| 580 | return 0; |
| 581 | } |
| 582 | |
| 583 | static void |
| 584 | free_task_pool(struct vhost_blk_ctrlr *ctrlr) |
no test coverage detected