Lines Matching refs:disk

59 	if (!rq->q->disk->seq_zones_wlock)
70 if (test_and_set_bit(zno, rq->q->disk->seq_zones_wlock))
83 rq->q->disk->seq_zones_wlock)))
94 if (rq->q->disk->seq_zones_wlock)
96 rq->q->disk->seq_zones_wlock));
140 struct gendisk *disk = bdev->bd_disk;
141 sector_t capacity = get_capacity(disk);
143 if (!bdev_is_zoned(bdev) || WARN_ON_ONCE(!disk->fops->report_zones))
149 return disk->fops->report_zones(disk, sector, nr_zones, cb, data);
181 struct gendisk *disk = bdev->bd_disk;
189 need_reset = blk_alloc_zone_bitmap(disk->queue->node, disk->nr_zones);
193 ret = disk->fops->report_zones(disk, 0, disk->nr_zones,
200 if (!test_bit(disk_zone_no(disk, sector), need_reset)) {
242 * @sector..@sector+@nr_sectors. Specifying the entire disk sector range
428 void disk_free_zone_bitmaps(struct gendisk *disk)
430 kfree(disk->conv_zones_bitmap);
431 disk->conv_zones_bitmap = NULL;
432 kfree(disk->seq_zones_wlock);
433 disk->seq_zones_wlock = NULL;
437 struct gendisk *disk;
451 struct gendisk *disk = args->disk;
452 struct request_queue *q = disk->queue;
453 sector_t capacity = get_capacity(disk);
459 disk->disk_name, args->sector, zone->start);
465 disk->disk_name, zone->start, zone->len);
476 disk->disk_name);
481 disk->disk_name);
507 disk->disk_name, (int)zone->type, zone->start);
517 * @disk: Target disk
518 * @update_driver_data: Callback to update driver data on the frozen disk
521 * initialize a disk request queue zone bitmaps. This functions should normally
522 * be called within the disk ->revalidate method for blk-mq based drivers.
526 * only need to set disk->nr_zones so that the sysfs exposed value is correct.
531 int blk_revalidate_disk_zones(struct gendisk *disk,
532 void (*update_driver_data)(struct gendisk *disk))
534 struct request_queue *q = disk->queue;
536 sector_t capacity = get_capacity(disk);
555 disk->disk_name, zone_sectors);
561 disk->disk_name);
569 args.disk = disk;
572 ret = disk->fops->report_zones(disk, 0, UINT_MAX,
575 pr_warn("%s: No zones reported\n", disk->disk_name);
581 * If zones where reported, make sure that the entire disk capacity
586 disk->disk_name, args.sector);
597 disk->nr_zones = args.nr_zones;
598 swap(disk->seq_zones_wlock, args.seq_zones_wlock);
599 swap(disk->conv_zones_bitmap, args.conv_zones_bitmap);
601 update_driver_data(disk);
604 pr_warn("%s: failed to revalidate zones\n", disk->disk_name);
605 disk_free_zone_bitmaps(disk);