Lines Matching refs:disk
68 struct gendisk *disk; member
373 blk_mq_start_stopped_hw_queues(vblk->disk->queue, true); in virtblk_done()
531 struct request_queue *q = vblk->disk->queue; in virtblk_alloc_report_buffer()
536 get_capacity(vblk->disk) >> ilog2(vblk->zone_sectors)); in virtblk_alloc_report_buffer()
560 struct request_queue *q = vblk->disk->queue; in virtblk_submit_zone_report()
593 if (zone.start + vblk->zone_sectors <= get_capacity(vblk->disk)) in virtblk_parse_zone()
596 zone.len = get_capacity(vblk->disk) - zone.start; in virtblk_parse_zone()
654 return disk_report_zone(vblk->disk, &zone, idx, args); in virtblk_parse_zone()
657 static int virtblk_report_zones(struct gendisk *disk, sector_t sector, in virtblk_report_zones() argument
661 struct virtio_blk *vblk = disk->private_data; in virtblk_report_zones()
682 while (zone_idx < nr_zones && sector < get_capacity(vblk->disk)) { in virtblk_report_zones()
804 static int virtblk_get_id(struct gendisk *disk, char *id_str) in virtblk_get_id() argument
806 struct virtio_blk *vblk = disk->private_data; in virtblk_get_id()
807 struct request_queue *q = vblk->disk->queue; in virtblk_get_id()
833 static int virtblk_getgeo(struct gendisk *disk, struct hd_geometry *geo) in virtblk_getgeo() argument
835 struct virtio_blk *vblk = disk->private_data; in virtblk_getgeo()
857 geo->cylinders = get_capacity(disk) >> 11; in virtblk_getgeo()
864 static void virtblk_free_disk(struct gendisk *disk) in virtblk_free_disk() argument
866 struct virtio_blk *vblk = disk->private_data; in virtblk_free_disk()
893 struct gendisk *disk = dev_to_disk(dev); in serial_show() local
900 err = virtblk_get_id(disk, buf); in serial_show()
916 struct request_queue *q = vblk->disk->queue; in virtblk_update_capacity()
933 vblk->disk->disk_name, in virtblk_update_capacity()
940 set_capacity_and_notify(vblk->disk, capacity); in virtblk_update_capacity()
1095 struct gendisk *disk = dev_to_disk(dev); in cache_type_store() local
1096 struct virtio_blk *vblk = disk->private_data; in cache_type_store()
1108 lim = queue_limits_start_update(disk->queue); in cache_type_store()
1113 i = queue_limits_commit_update_frozen(disk->queue, &lim); in cache_type_store()
1122 struct gendisk *disk = dev_to_disk(dev); in cache_type_show() local
1123 struct virtio_blk *vblk = disk->private_data; in cache_type_show()
1142 struct gendisk *disk = dev_to_disk(dev); in virtblk_attrs_are_visible() local
1143 struct virtio_blk *vblk = disk->private_data; in virtblk_attrs_are_visible()
1225 blk_mq_start_stopped_hw_queues(vblk->disk->queue, true); in virtblk_poll()
1508 vblk->disk = blk_mq_alloc_disk(&vblk->tag_set, &lim, vblk); in virtblk_probe()
1509 if (IS_ERR(vblk->disk)) { in virtblk_probe()
1510 err = PTR_ERR(vblk->disk); in virtblk_probe()
1514 virtblk_name_format("vd", index, vblk->disk->disk_name, DISK_NAME_LEN); in virtblk_probe()
1516 vblk->disk->major = major; in virtblk_probe()
1517 vblk->disk->first_minor = index_to_minor(index); in virtblk_probe()
1518 vblk->disk->minors = 1 << PART_BITS; in virtblk_probe()
1519 vblk->disk->private_data = vblk; in virtblk_probe()
1520 vblk->disk->fops = &virtblk_fops; in virtblk_probe()
1525 set_disk_ro(vblk->disk, 1); in virtblk_probe()
1536 err = blk_revalidate_disk_zones(vblk->disk); in virtblk_probe()
1541 err = device_add_disk(&vdev->dev, vblk->disk, virtblk_attr_groups); in virtblk_probe()
1548 put_disk(vblk->disk); in virtblk_probe()
1569 del_gendisk(vblk->disk); in virtblk_remove()
1585 put_disk(vblk->disk); in virtblk_remove()
1591 struct request_queue *q = vblk->disk->queue; in virtblk_freeze_priv()
1627 blk_mq_unquiesce_queue(vblk->disk->queue); in virtblk_restore_priv()