Lines Matching refs:bvdev

183 	struct virtio_blk_dev *bvdev = bdev_io->bdev->ctxt;  in _bdev_virtio_submit_request()  local
191 if (bvdev->readonly) { in _bdev_virtio_submit_request()
201 if (bvdev->unmap) { in _bdev_virtio_submit_request()
226 struct virtio_blk_dev *bvdev = ctx; in bdev_virtio_io_type_supported() local
233 return !bvdev->readonly; in bdev_virtio_io_type_supported()
235 return bvdev->unmap; in bdev_virtio_io_type_supported()
245 struct virtio_blk_dev *bvdev = ctx; in bdev_virtio_get_io_channel() local
247 return spdk_get_io_channel(bvdev); in bdev_virtio_get_io_channel()
253 struct virtio_blk_dev *bvdev = io_device; in virtio_blk_dev_unregister_cb() local
254 struct virtio_dev *vdev = &bvdev->vdev; in virtio_blk_dev_unregister_cb()
258 spdk_bdev_destruct_done(&bvdev->bdev, 0); in virtio_blk_dev_unregister_cb()
259 free(bvdev); in virtio_blk_dev_unregister_cb()
265 struct virtio_blk_dev *bvdev = ctx; in bdev_virtio_disk_destruct() local
267 spdk_io_device_unregister(bvdev, virtio_blk_dev_unregister_cb); in bdev_virtio_disk_destruct()
280 struct virtio_blk_dev *bvdev = ctx; in bdev_virtio_dump_json_config() local
282 virtio_dev_dump_json_info(&bvdev->vdev, w); in bdev_virtio_dump_json_config()
289 struct virtio_blk_dev *bvdev = bdev->ctxt; in bdev_virtio_write_config_json() local
296 spdk_json_write_named_string(w, "name", bvdev->vdev.name); in bdev_virtio_write_config_json()
300 bvdev->vdev.backend_ops->write_json_config(&bvdev->vdev, w); in bdev_virtio_write_config_json()
344 struct virtio_blk_dev *bvdev = io_device; in bdev_virtio_blk_ch_create_cb() local
345 struct virtio_dev *vdev = &bvdev->vdev; in bdev_virtio_blk_ch_create_cb()
368 struct virtio_blk_dev *bvdev = io_device; in bdev_virtio_blk_ch_destroy_cb() local
369 struct virtio_dev *vdev = &bvdev->vdev; in bdev_virtio_blk_ch_destroy_cb()
378 virtio_blk_dev_init(struct virtio_blk_dev *bvdev, uint16_t max_queues) in virtio_blk_dev_init() argument
380 struct virtio_dev *vdev = &bvdev->vdev; in virtio_blk_dev_init()
381 struct spdk_bdev *bdev = &bvdev->bdev; in virtio_blk_dev_init()
470 bvdev->readonly = true; in virtio_blk_dev_init()
474 bvdev->unmap = true; in virtio_blk_dev_init()
502 bdev->ctxt = bvdev; in virtio_blk_dev_init()
506 spdk_io_device_register(bvdev, bdev_virtio_blk_ch_create_cb, in virtio_blk_dev_init()
514 spdk_io_device_unregister(bvdev, NULL); in virtio_blk_dev_init()
526 struct virtio_blk_dev *bvdev; in virtio_pci_blk_dev_create() local
532 bvdev = calloc(1, sizeof(*bvdev)); in virtio_pci_blk_dev_create()
533 if (bvdev == NULL) { in virtio_pci_blk_dev_create()
537 vdev = &bvdev->vdev; in virtio_pci_blk_dev_create()
552 free(bvdev); in virtio_pci_blk_dev_create()
573 rc = virtio_blk_dev_init(bvdev, num_queues); in virtio_pci_blk_dev_create()
578 return bvdev; in virtio_pci_blk_dev_create()
583 free(bvdev); in virtio_pci_blk_dev_create()
591 struct virtio_blk_dev *bvdev; in virtio_user_blk_dev_create() local
595 bvdev = calloc(1, sizeof(*bvdev)); in virtio_user_blk_dev_create()
596 if (bvdev == NULL) { in virtio_user_blk_dev_create()
601 rc = virtio_user_dev_init(&bvdev->vdev, name, path, queue_size); in virtio_user_blk_dev_create()
604 free(bvdev); in virtio_user_blk_dev_create()
610 rc = virtio_dev_reset(&bvdev->vdev, feature_bits); in virtio_user_blk_dev_create()
612 virtio_dev_destruct(&bvdev->vdev); in virtio_user_blk_dev_create()
613 free(bvdev); in virtio_user_blk_dev_create()
617 rc = virtio_blk_dev_init(bvdev, num_queues); in virtio_user_blk_dev_create()
619 virtio_dev_destruct(&bvdev->vdev); in virtio_user_blk_dev_create()
620 free(bvdev); in virtio_user_blk_dev_create()
624 return bvdev; in virtio_user_blk_dev_create()
723 struct virtio_blk_dev *bvdev; in bdev_virtio_user_blk_dev_create() local
725 bvdev = virtio_user_blk_dev_create(name, path, num_queues, queue_size); in bdev_virtio_user_blk_dev_create()
726 if (bvdev == NULL) { in bdev_virtio_user_blk_dev_create()
730 return &bvdev->bdev; in bdev_virtio_user_blk_dev_create()
736 struct virtio_blk_dev *bvdev; in bdev_virtio_vfio_user_blk_dev_create() local
740 bvdev = calloc(1, sizeof(*bvdev)); in bdev_virtio_vfio_user_blk_dev_create()
741 if (bvdev == NULL) { in bdev_virtio_vfio_user_blk_dev_create()
746 rc = virtio_vfio_user_dev_init(&bvdev->vdev, name, path); in bdev_virtio_vfio_user_blk_dev_create()
749 free(bvdev); in bdev_virtio_vfio_user_blk_dev_create()
753 rc = virtio_dev_reset(&bvdev->vdev, VIRTIO_BLK_DEV_SUPPORTED_FEATURES); in bdev_virtio_vfio_user_blk_dev_create()
756 virtio_dev_destruct(&bvdev->vdev); in bdev_virtio_vfio_user_blk_dev_create()
757 free(bvdev); in bdev_virtio_vfio_user_blk_dev_create()
761 if (virtio_dev_has_feature(&bvdev->vdev, VIRTIO_BLK_F_MQ)) { in bdev_virtio_vfio_user_blk_dev_create()
762 rc = virtio_dev_read_dev_config(&bvdev->vdev, offsetof(struct virtio_blk_config, num_queues), in bdev_virtio_vfio_user_blk_dev_create()
766 virtio_dev_destruct(&bvdev->vdev); in bdev_virtio_vfio_user_blk_dev_create()
767 free(bvdev); in bdev_virtio_vfio_user_blk_dev_create()
774 rc = virtio_blk_dev_init(bvdev, num_queues); in bdev_virtio_vfio_user_blk_dev_create()
777 virtio_dev_destruct(&bvdev->vdev); in bdev_virtio_vfio_user_blk_dev_create()
778 free(bvdev); in bdev_virtio_vfio_user_blk_dev_create()
782 return &bvdev->bdev; in bdev_virtio_vfio_user_blk_dev_create()