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) in disk_register_independent_access_ranges() argument
110 struct blk_independent_access_ranges *iars = disk->ia_ranges; in disk_register_independent_access_ranges()
111 struct request_queue *q = disk->queue; in disk_register_independent_access_ranges()
125 &disk->queue_kobj, "%s", in disk_register_independent_access_ranges()
128 disk->ia_ranges = NULL; in disk_register_independent_access_ranges()
151 void disk_unregister_independent_access_ranges(struct gendisk *disk) in disk_unregister_independent_access_ranges() argument
153 struct request_queue *q = disk->queue; in disk_unregister_independent_access_ranges()
154 struct blk_independent_access_ranges *iars = disk->ia_ranges; in disk_unregister_independent_access_ranges()
171 disk->ia_ranges = NULL; in disk_unregister_independent_access_ranges()
191 static bool disk_check_ia_ranges(struct gendisk *disk, in disk_check_ia_ranges() argument
195 sector_t capacity = get_capacity(disk); in disk_check_ia_ranges()
224 pr_warn("Independent access ranges do not match disk capacity\n"); in disk_check_ia_ranges()
231 static bool disk_ia_ranges_changed(struct gendisk *disk, in disk_ia_ranges_changed() argument
234 struct blk_independent_access_ranges *old = disk->ia_ranges; in disk_ia_ranges_changed()
255 * @disk: target disk
262 disk_alloc_independent_access_ranges(struct gendisk *disk, int nr_ia_ranges) in disk_alloc_independent_access_ranges() argument
267 GFP_KERNEL, disk->queue->node); in disk_alloc_independent_access_ranges()
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, in disk_set_independent_access_ranges() argument
288 struct request_queue *q = disk->queue; in disk_set_independent_access_ranges()
291 if (iars && !disk_check_ia_ranges(disk, iars)) { in disk_set_independent_access_ranges()
295 if (iars && !disk_ia_ranges_changed(disk, iars)) { in disk_set_independent_access_ranges()
307 disk_unregister_independent_access_ranges(disk); in disk_set_independent_access_ranges()
308 disk->ia_ranges = iars; in disk_set_independent_access_ranges()
310 disk_register_independent_access_ranges(disk); in disk_set_independent_access_ranges()