Lines Matching defs:vdev
55 struct spdk_vhost_dev vdev;
82 struct spdk_vhost_dev *vdev = &bvsession->bvdev->vdev;
84 return virtio_blk_process_request(vdev, bvsession->io_channel, &user_task->blk_task,
89 to_blk_dev(struct spdk_vhost_dev *vdev)
91 if (vdev == NULL) {
95 if (vdev->backend->type != VHOST_BACKEND_BLK) {
96 SPDK_ERRLOG("%s: not a vhost-blk device\n", vdev->name);
100 return SPDK_CONTAINEROF(vdev, struct spdk_vhost_blk_dev, vdev);
104 vhost_blk_get_bdev(struct spdk_vhost_dev *vdev)
106 struct spdk_vhost_blk_dev *bvdev = to_blk_dev(vdev);
116 assert(vsession->vdev->backend->type == VHOST_BACKEND_BLK);
204 struct spdk_vhost_dev *vdev = vsession->vdev;
213 SPDK_ERRLOG("%s: invalid descriptor at index %"PRIu16".\n", vdev->name, req_idx);
336 struct spdk_vhost_dev *vdev = vsession->vdev;
344 SPDK_ERRLOG("%s: Invalid descriptor at index %"PRIu16".\n", vdev->name, req_idx);
358 struct spdk_vhost_dev *vdev = vsession->vdev;
368 SPDK_ERRLOG("%s: Invalid descriptor at index %"PRIu16".\n", vdev->name, req_idx);
445 blk_request_queue_io(struct spdk_vhost_dev *vdev, struct spdk_io_channel *ch,
449 struct spdk_bdev *bdev = vhost_blk_get_bdev(vdev);
455 task->bdev_io_wait_vdev = vdev;
464 virtio_blk_process_request(struct spdk_vhost_dev *vdev, struct spdk_io_channel *ch,
467 struct spdk_vhost_blk_dev *bvdev = to_blk_dev(vdev);
545 blk_request_queue_io(vdev, ch, task);
572 blk_request_queue_io(vdev, ch, task);
602 blk_request_queue_io(vdev, ch, task);
622 blk_request_queue_io(vdev, ch, task);
1093 struct spdk_vhost_blk_dev *bvdev = to_blk_dev(vsession->vdev);
1114 spdk_thread_send_msg(vsession->vdev->thread, _vhost_blk_vq_register_interrupt, vq);
1156 bdev_event_cpl_cb(struct spdk_vhost_dev *vdev, void *ctx)
1163 bvdev = to_blk_dev(vdev);
1172 vhost_session_bdev_resize_cb(struct spdk_vhost_dev *vdev,
1187 vhost_user_blk_resize_cb(struct spdk_vhost_dev *vdev, bdev_event_cb_complete cb, void *cb_arg)
1189 vhost_user_dev_foreach_session(vdev, vhost_session_bdev_resize_cb,
1194 vhost_user_session_bdev_remove_cb(struct spdk_vhost_dev *vdev,
1222 vhost_user_bdev_remove_cb(struct spdk_vhost_dev *vdev, bdev_event_cb_complete cb, void *cb_arg)
1225 vdev->name);
1227 vhost_user_dev_foreach_session(vdev, vhost_user_session_bdev_remove_cb,
1232 vhost_user_bdev_event_cb(enum spdk_bdev_event_type type, struct spdk_vhost_dev *vdev,
1237 vhost_user_bdev_remove_cb(vdev, cb, cb_arg);
1240 vhost_user_blk_resize_cb(vdev, cb, cb_arg);
1252 struct spdk_vhost_dev *vdev = (struct spdk_vhost_dev *)event_ctx;
1253 struct spdk_vhost_blk_dev *bvdev = to_blk_dev(vdev);
1264 bvdev->ops->bdev_event(type, vdev, bdev_event_cpl_cb, (void *)type);
1335 vhost_blk_start(struct spdk_vhost_dev *vdev,
1359 bvdev = to_blk_dev(vdev);
1364 bvsession->io_channel = vhost_blk_get_io_channel(vdev);
1391 struct spdk_vhost_user_dev *user_dev = to_user_dev(vsession->vdev);
1429 vhost_blk_stop(struct spdk_vhost_dev *vdev,
1450 vhost_blk_dump_info_json(struct spdk_vhost_dev *vdev, struct spdk_json_write_ctx *w)
1454 bvdev = to_blk_dev(vdev);
1473 vhost_blk_write_config_json(struct spdk_vhost_dev *vdev, struct spdk_json_write_ctx *w)
1477 bvdev = to_blk_dev(vdev);
1488 spdk_json_write_named_string(w, "ctrlr", vdev->name);
1491 spdk_cpuset_fmt(spdk_thread_get_cpumask(vdev->thread)));
1502 vhost_blk_get_config(struct spdk_vhost_dev *vdev, uint8_t *config,
1511 bdev = vhost_blk_get_bdev(vdev);
1564 vhost_blk_set_coalescing(struct spdk_vhost_dev *vdev, uint32_t delay_base_us,
1567 struct spdk_vhost_blk_dev *bvdev = to_blk_dev(vdev);
1571 return bvdev->ops->set_coalescing(vdev, delay_base_us, iops_threshold);
1575 vhost_blk_get_coalescing(struct spdk_vhost_dev *vdev, uint32_t *delay_base_us,
1578 struct spdk_vhost_blk_dev *bvdev = to_blk_dev(vdev);
1582 bvdev->ops->get_coalescing(vdev, delay_base_us, iops_threshold);
1604 virtio_blk_construct_ctrlr(struct spdk_vhost_dev *vdev, const char *address,
1608 struct spdk_vhost_blk_dev *bvdev = to_blk_dev(vdev);
1612 return bvdev->ops->create_ctrlr(vdev, cpumask, address, params, (void *)user_backend);
1620 struct spdk_vhost_dev *vdev;
1650 vdev = &bvdev->vdev;
1651 vdev->virtio_features = SPDK_VHOST_BLK_FEATURES_BASE;
1652 vdev->disabled_features = SPDK_VHOST_BLK_DISABLED_FEATURES;
1653 vdev->protocol_features = SPDK_VHOST_BLK_PROTOCOL_FEATURES;
1656 vdev->virtio_features |= (1ULL << VIRTIO_BLK_F_DISCARD);
1659 vdev->virtio_features |= (1ULL << VIRTIO_BLK_F_WRITE_ZEROES);
1663 vdev->virtio_features |= (1ULL << VIRTIO_BLK_F_FLUSH);
1668 ret = vhost_dev_register(vdev, name, cpumask, params, &vhost_blk_device_backend,
1684 virtio_blk_destroy_ctrlr(struct spdk_vhost_dev *vdev)
1686 struct spdk_vhost_blk_dev *bvdev = to_blk_dev(vdev);
1690 return bvdev->ops->destroy_ctrlr(vdev);
1694 vhost_blk_destroy(struct spdk_vhost_dev *vdev)
1696 struct spdk_vhost_blk_dev *bvdev = to_blk_dev(vdev);
1701 rc = vhost_dev_unregister(&bvdev->vdev);
1717 vhost_blk_get_io_channel(struct spdk_vhost_dev *vdev)
1719 struct spdk_vhost_blk_dev *bvdev = to_blk_dev(vdev);
1772 vhost_user_blk_create_ctrlr(struct spdk_vhost_dev *vdev, struct spdk_cpuset *cpumask,
1776 struct spdk_vhost_blk_dev *bvdev = to_blk_dev(vdev);
1788 vdev->virtio_features |= (uint64_t)req.packed_ring << VIRTIO_F_RING_PACKED;
1791 vdev->virtio_features |= (1ULL << VIRTIO_BLK_F_RO);
1795 return vhost_user_dev_create(vdev, address, cpumask, custom_opts, false);
1799 vhost_user_blk_destroy_ctrlr(struct spdk_vhost_dev *vdev)
1801 return vhost_user_dev_unregister(vdev);