Lines Matching refs:blockdev

78 static bool xen_block_find_free_vdev(XenBlockDevice *blockdev, Error **errp)  in xen_block_find_free_vdev()  argument
80 XenBus *xenbus = XEN_BUS(qdev_get_parent_bus(DEVICE(blockdev))); in xen_block_find_free_vdev()
82 XenBlockVdev *vdev = &blockdev->props.vdev; in xen_block_find_free_vdev()
90 blockdev->xendev.frontend_id); in xen_block_find_free_vdev()
154 XenBlockDevice *blockdev = XEN_BLOCK_DEVICE(xendev); in xen_block_get_name() local
155 XenBlockVdev *vdev = &blockdev->props.vdev; in xen_block_get_name()
158 !xen_block_find_free_vdev(blockdev, errp)) { in xen_block_get_name()
166 XenBlockDevice *blockdev = XEN_BLOCK_DEVICE(xendev); in xen_block_disconnect() local
167 const char *type = object_get_typename(OBJECT(blockdev)); in xen_block_disconnect()
168 XenBlockVdev *vdev = &blockdev->props.vdev; in xen_block_disconnect()
172 xen_block_dataplane_stop(blockdev->dataplane); in xen_block_disconnect()
177 XenBlockDevice *blockdev = XEN_BLOCK_DEVICE(xendev); in xen_block_connect() local
178 const char *type = object_get_typename(OBJECT(blockdev)); in xen_block_connect()
179 XenBlockVdev *vdev = &blockdev->props.vdev; in xen_block_connect()
180 BlockConf *conf = &blockdev->props.conf; in xen_block_connect()
211 order <= blockdev->props.max_ring_page_order) { in xen_block_connect()
261 xen_block_dataplane_start(blockdev->dataplane, ring_ref, nr_ring_ref, in xen_block_connect()
269 XenBlockDevice *blockdev = XEN_BLOCK_DEVICE(xendev); in xen_block_unrealize() local
272 const char *type = object_get_typename(OBJECT(blockdev)); in xen_block_unrealize()
273 XenBlockVdev *vdev = &blockdev->props.vdev; in xen_block_unrealize()
284 xen_block_dataplane_destroy(blockdev->dataplane); in xen_block_unrealize()
285 blockdev->dataplane = NULL; in xen_block_unrealize()
288 blockdev_class->unrealize(blockdev); in xen_block_unrealize()
292 static void xen_block_set_size(XenBlockDevice *blockdev) in xen_block_set_size() argument
294 const char *type = object_get_typename(OBJECT(blockdev)); in xen_block_set_size()
295 XenBlockVdev *vdev = &blockdev->props.vdev; in xen_block_set_size()
296 BlockConf *conf = &blockdev->props.conf; in xen_block_set_size()
298 XenDevice *xendev = XEN_DEVICE(blockdev); in xen_block_set_size()
307 XenBlockDevice *blockdev = opaque; in xen_block_resize_cb() local
308 XenDevice *xendev = XEN_DEVICE(blockdev); in xen_block_resize_cb()
311 xen_block_set_size(blockdev); in xen_block_resize_cb()
323 XenBlockDevice *blockdev = opaque; in xen_block_drained_begin() local
325 xen_block_dataplane_detach(blockdev->dataplane); in xen_block_drained_begin()
331 XenBlockDevice *blockdev = opaque; in xen_block_drained_end() local
333 xen_block_dataplane_attach(blockdev->dataplane); in xen_block_drained_end()
345 XenBlockDevice *blockdev = XEN_BLOCK_DEVICE(xendev); in xen_block_realize() local
348 const char *type = object_get_typename(OBJECT(blockdev)); in xen_block_realize()
349 XenBlockVdev *vdev = &blockdev->props.vdev; in xen_block_realize()
350 BlockConf *conf = &blockdev->props.conf; in xen_block_realize()
361 blockdev_class->realize(blockdev, errp); in xen_block_realize()
377 if (!blkconf_apply_backend_options(conf, blockdev->info & VDISK_READONLY, in xen_block_realize()
382 if (!(blockdev->info & VDISK_CDROM) && in xen_block_realize()
406 blockdev->props.max_ring_page_order); in xen_block_realize()
409 xen_device_backend_printf(xendev, "info", "%u", blockdev->info); in xen_block_realize()
414 blockdev->device_type); in xen_block_realize()
419 xen_block_set_size(blockdev); in xen_block_realize()
421 blockdev->dataplane = in xen_block_realize()
423 blockdev->props.iothread); in xen_block_realize()
425 blk_set_dev_ops(blk, &xen_block_dev_ops, blockdev); in xen_block_realize()
704 static void xen_disk_unrealize(XenBlockDevice *blockdev) in xen_disk_unrealize() argument
709 static void xen_disk_realize(XenBlockDevice *blockdev, Error **errp) in xen_disk_realize() argument
711 BlockConf *conf = &blockdev->props.conf; in xen_disk_realize()
715 blockdev->device_type = "disk"; in xen_disk_realize()
722 blockdev->info = blk_supports_write_perm(conf->blk) ? 0 : VDISK_READONLY; in xen_disk_realize()
743 static void xen_cdrom_unrealize(XenBlockDevice *blockdev) in xen_cdrom_unrealize() argument
748 static void xen_cdrom_realize(XenBlockDevice *blockdev, Error **errp) in xen_cdrom_realize() argument
750 BlockConf *conf = &blockdev->props.conf; in xen_cdrom_realize()
754 blockdev->device_type = "cdrom"; in xen_cdrom_realize()
762 rc = blk_attach_dev(conf->blk, DEVICE(blockdev)); in xen_cdrom_realize()
769 blockdev->info = VDISK_READONLY | VDISK_CDROM; in xen_cdrom_realize()
1036 XenBlockDevice *blockdev; in xen_block_device_create() local
1079 blockdev = XEN_BLOCK_DEVICE(xendev); in xen_block_device_create()
1100 blockdev->iothread = iothread; in xen_block_device_create()
1101 blockdev->drive = drive; in xen_block_device_create()
1130 XenBlockDevice *blockdev = XEN_BLOCK_DEVICE(xendev); in xen_block_device_destroy() local
1131 XenBlockVdev *vdev = &blockdev->props.vdev; in xen_block_device_destroy()
1132 XenBlockDrive *drive = blockdev->drive; in xen_block_device_destroy()
1133 XenBlockIOThread *iothread = blockdev->iothread; in xen_block_device_destroy()