Lines Matching full: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;
125 &disk->queue_kobj, "%s",
128 disk->ia_ranges = NULL;
151 void disk_unregister_independent_access_ranges(struct gendisk *disk)
153 struct request_queue *q = disk->queue;
154 struct blk_independent_access_ranges *iars = disk->ia_ranges;
171 disk->ia_ranges = NULL;
191 static bool disk_check_ia_ranges(struct gendisk *disk,
195 sector_t capacity = get_capacity(disk);
224 pr_warn("Independent access ranges do not match disk capacity\n");
231 static bool disk_ia_ranges_changed(struct gendisk *disk,
234 struct blk_independent_access_ranges *old = disk->ia_ranges;
255 * @disk: target disk
262 disk_alloc_independent_access_ranges(struct gendisk *disk, int nr_ia_ranges)
267 GFP_KERNEL, disk->queue->node);
275 * disk_set_independent_access_ranges - Set a disk independent access ranges
276 * @disk: target disk
280 * of @disk to @iars. If @iars is NULL and the independent access ranges
285 void disk_set_independent_access_ranges(struct gendisk *disk,
288 struct request_queue *q = disk->queue;
291 if (iars && !disk_check_ia_ranges(disk, iars)) {
295 if (iars && !disk_ia_ranges_changed(disk, iars)) {
307 disk_unregister_independent_access_ranges(disk);
308 disk->ia_ranges = iars;
310 disk_register_independent_access_ranges(disk);