Lines Matching defs:vbd
36 static void xen_vbd_free(struct xen_vbd *vbd);
84 if (!blkif->rings || !blkif->rings[0].irq || !blkif->vbd.bdev)
102 err = filemap_write_and_wait(blkif->vbd.bdev->bd_inode->i_mapping);
107 invalidate_inode_pages2(blkif->vbd.bdev->bd_inode->i_mapping);
348 xen_vbd_free(&blkif->vbd);
473 static void xen_vbd_free(struct xen_vbd *vbd)
475 if (vbd->bdev)
476 blkdev_put(vbd->bdev, vbd->readonly ? FMODE_READ : FMODE_WRITE);
477 vbd->bdev = NULL;
484 struct xen_vbd *vbd;
488 vbd = &blkif->vbd;
489 vbd->handle = handle;
490 vbd->readonly = readonly;
491 vbd->type = 0;
493 vbd->pdevice = MKDEV(major, minor);
495 bdev = blkdev_get_by_dev(vbd->pdevice, vbd->readonly ?
500 vbd->pdevice);
504 vbd->bdev = bdev;
505 if (vbd->bdev->bd_disk == NULL) {
507 vbd->pdevice);
508 xen_vbd_free(vbd);
511 vbd->size = vbd_sz(vbd);
513 if (vbd->bdev->bd_disk->flags & GENHD_FL_CD || cdrom)
514 vbd->type |= VDISK_CDROM;
515 if (vbd->bdev->bd_disk->flags & GENHD_FL_REMOVABLE)
516 vbd->type |= VDISK_REMOVABLE;
520 vbd->flush_support = true;
523 vbd->discard_secure = true;
577 struct block_device *bdev = be->blkif->vbd.bdev;
602 blkif->vbd.discard_secure);
701 * node. Read it and the mode node, and create a vbd. If the frontend is
770 xenbus_dev_fatal(dev, err, "creating vbd structure");
774 xen_vbd_free(&be->blkif->vbd);
907 xen_blkbk_flush_diskcache(xbt, be, be->blkif->vbd.flush_support);
911 xen_blkbk_barrier(xbt, be, be->blkif->vbd.flush_support);
914 be->blkif->vbd.feature_gnt_persistent_parm);
922 (unsigned long long)vbd_sz(&be->blkif->vbd));
931 be->blkif->vbd.type |
932 (be->blkif->vbd.readonly ? VDISK_READONLY : 0));
940 bdev_logical_block_size(be->blkif->vbd.bdev));
947 bdev_physical_block_size(be->blkif->vbd.bdev));
1092 blkif->vbd.feature_gnt_persistent_parm = feature_persistent;
1093 blkif->vbd.feature_gnt_persistent =
1094 blkif->vbd.feature_gnt_persistent_parm &&
1097 blkif->vbd.overflow_max_grants = 0;
1119 blkif->vbd.feature_gnt_persistent ? "persistent grants" : "");
1163 { "vbd" },