Lines Matching refs:disk
104 * @disk: Target disk
106 * Register with sysfs a set of independent access ranges for @disk.
108 int disk_register_independent_access_ranges(struct gendisk *disk)
110 struct blk_independent_access_ranges *iars = disk->ia_ranges;
111 struct request_queue *q = disk->queue;
126 &disk->queue_kobj, "%s",
129 disk->ia_ranges = NULL;
152 void disk_unregister_independent_access_ranges(struct gendisk *disk)
154 struct request_queue *q = disk->queue;
155 struct blk_independent_access_ranges *iars = disk->ia_ranges;
173 disk->ia_ranges = NULL;
193 static bool disk_check_ia_ranges(struct gendisk *disk,
197 sector_t capacity = get_capacity(disk);
226 pr_warn("Independent access ranges do not match disk capacity\n");
233 static bool disk_ia_ranges_changed(struct gendisk *disk,
236 struct blk_independent_access_ranges *old = disk->ia_ranges;
257 * @disk: target disk
264 disk_alloc_independent_access_ranges(struct gendisk *disk, int nr_ia_ranges)
269 GFP_KERNEL, disk->queue->node);
277 * disk_set_independent_access_ranges - Set a disk independent access ranges
278 * @disk: target disk
282 * of @disk to @iars. If @iars is NULL and the independent access ranges
287 void disk_set_independent_access_ranges(struct gendisk *disk,
290 struct request_queue *q = disk->queue;
294 if (iars && !disk_check_ia_ranges(disk, iars)) {
298 if (iars && !disk_ia_ranges_changed(disk, iars)) {
310 disk_unregister_independent_access_ranges(disk);
311 disk->ia_ranges = iars;
313 disk_register_independent_access_ranges(disk);