Lines Matching refs:vbd

45 static void xen_vbd_free(struct xen_vbd *vbd);
91 if (!blkif->irq || !blkif->vbd.bdev) in xen_update_blkif_status()
109 err = filemap_write_and_wait(blkif->vbd.bdev->bd_inode->i_mapping); in xen_update_blkif_status()
114 invalidate_inode_pages2(blkif->vbd.bdev->bd_inode->i_mapping); in xen_update_blkif_status()
271 xen_vbd_free(&blkif->vbd); in xen_blkif_free()
370 static void xen_vbd_free(struct xen_vbd *vbd) in xen_vbd_free() argument
372 if (vbd->bdev) in xen_vbd_free()
373 blkdev_put(vbd->bdev, vbd->readonly ? FMODE_READ : FMODE_WRITE); in xen_vbd_free()
374 vbd->bdev = NULL; in xen_vbd_free()
381 struct xen_vbd *vbd; in xen_vbd_create() local
385 vbd = &blkif->vbd; in xen_vbd_create()
386 vbd->handle = handle; in xen_vbd_create()
387 vbd->readonly = readonly; in xen_vbd_create()
388 vbd->type = 0; in xen_vbd_create()
390 vbd->pdevice = MKDEV(major, minor); in xen_vbd_create()
392 bdev = blkdev_get_by_dev(vbd->pdevice, vbd->readonly ? in xen_vbd_create()
397 vbd->pdevice); in xen_vbd_create()
401 vbd->bdev = bdev; in xen_vbd_create()
402 if (vbd->bdev->bd_disk == NULL) { in xen_vbd_create()
404 vbd->pdevice); in xen_vbd_create()
405 xen_vbd_free(vbd); in xen_vbd_create()
408 vbd->size = vbd_sz(vbd); in xen_vbd_create()
410 if (vbd->bdev->bd_disk->flags & GENHD_FL_CD || cdrom) in xen_vbd_create()
411 vbd->type |= VDISK_CDROM; in xen_vbd_create()
412 if (vbd->bdev->bd_disk->flags & GENHD_FL_REMOVABLE) in xen_vbd_create()
413 vbd->type |= VDISK_REMOVABLE; in xen_vbd_create()
417 vbd->flush_support = true; in xen_vbd_create()
420 vbd->discard_secure = true; in xen_vbd_create()
473 struct block_device *bdev = be->blkif->vbd.bdev; in xen_blkbk_discard()
500 blkif->vbd.discard_secure); in xen_blkbk_discard()
654 xen_vbd_free(&be->blkif->vbd); in backend_changed()
763 xen_blkbk_flush_diskcache(xbt, be, be->blkif->vbd.flush_support); in connect()
767 xen_blkbk_barrier(xbt, be, be->blkif->vbd.flush_support); in connect()
782 (unsigned long long)vbd_sz(&be->blkif->vbd)); in connect()
791 be->blkif->vbd.type | in connect()
792 (be->blkif->vbd.readonly ? VDISK_READONLY : 0)); in connect()
800 bdev_logical_block_size(be->blkif->vbd.bdev)); in connect()
807 bdev_physical_block_size(be->blkif->vbd.bdev)); in connect()
914 be->blkif->vbd.feature_gnt_persistent = pers_grants; in connect_ring()
915 be->blkif->vbd.overflow_max_grants = 0; in connect_ring()