Lines Matching refs:disk
25 ssize_t (*show)(struct gendisk *disk, char *page);
26 int (*load_module)(struct gendisk *disk, const char *page, size_t count);
27 ssize_t (*store)(struct gendisk *disk, const char *page, size_t count);
51 static ssize_t queue_requests_show(struct gendisk *disk, char *page) in queue_requests_show() argument
53 return queue_var_show(disk->queue->nr_requests, page); in queue_requests_show()
57 queue_requests_store(struct gendisk *disk, const char *page, size_t count) in queue_requests_store() argument
62 if (!queue_is_mq(disk->queue)) in queue_requests_store()
72 err = blk_mq_update_nr_requests(disk->queue, nr); in queue_requests_store()
79 static ssize_t queue_ra_show(struct gendisk *disk, char *page) in queue_ra_show() argument
81 return queue_var_show(disk->bdi->ra_pages << (PAGE_SHIFT - 10), page); in queue_ra_show()
85 queue_ra_store(struct gendisk *disk, const char *page, size_t count) in queue_ra_store() argument
93 disk->bdi->ra_pages = ra_kb >> (PAGE_SHIFT - 10); in queue_ra_store()
98 static ssize_t queue_##_field##_show(struct gendisk *disk, char *page) \
100 return queue_var_show(disk->queue->limits._field, page); \
122 static ssize_t queue_##_field##_show(struct gendisk *disk, char *page) \ in QUEUE_SYSFS_LIMIT_SHOW()
125 (unsigned long long)disk->queue->limits._field << \ in QUEUE_SYSFS_LIMIT_SHOW()
136 static ssize_t queue_##_field##_show(struct gendisk *disk, char *page) \
138 return queue_var_show(disk->queue->limits._field >> 1, page); \
145 static ssize_t queue_##_name##_show(struct gendisk *disk, char *page) \
155 static ssize_t queue_max_discard_sectors_store(struct gendisk *disk,
167 if (max_discard_bytes & (disk->queue->limits.discard_granularity - 1))
173 lim = queue_limits_start_update(disk->queue);
175 err = queue_limits_commit_update(disk->queue, &lim);
186 static ssize_t queue_zone_append_max_show(struct gendisk *disk, char *page) in queue_zone_append_max_show() argument
189 (u64)queue_max_zone_append_sectors(disk->queue) << in queue_zone_append_max_show()
194 queue_max_sectors_store(struct gendisk *disk, const char *page, size_t count) in queue_max_sectors_store() argument
205 lim = queue_limits_start_update(disk->queue); in queue_max_sectors_store()
207 err = queue_limits_commit_update(disk->queue, &lim); in queue_max_sectors_store()
213 static ssize_t queue_feature_store(struct gendisk *disk, const char *page, in queue_feature_store() argument
224 lim = queue_limits_start_update(disk->queue); in queue_feature_store()
229 ret = queue_limits_commit_update(disk->queue, &lim); in queue_feature_store()
236 static ssize_t queue_##_name##_show(struct gendisk *disk, char *page) \
239 !!(disk->queue->limits.features & _feature)); \
241 static ssize_t queue_##_name##_store(struct gendisk *disk, \
244 return queue_feature_store(disk, page, count, _feature); \
253 static ssize_t queue_##_name##_show(struct gendisk *disk, char *page) \
256 !!(disk->queue->limits.features & _feature)); \
263 static ssize_t queue_zoned_show(struct gendisk *disk, char *page) in queue_zoned_show() argument
265 if (blk_queue_is_zoned(disk->queue)) in queue_zoned_show()
270 static ssize_t queue_nr_zones_show(struct gendisk *disk, char *page) in queue_nr_zones_show() argument
272 return queue_var_show(disk_nr_zones(disk), page); in queue_nr_zones_show()
275 static ssize_t queue_nomerges_show(struct gendisk *disk, char *page) in queue_nomerges_show() argument
277 return queue_var_show((blk_queue_nomerges(disk->queue) << 1) | in queue_nomerges_show()
278 blk_queue_noxmerges(disk->queue), page); in queue_nomerges_show()
281 static ssize_t queue_nomerges_store(struct gendisk *disk, const char *page, in queue_nomerges_store() argument
290 blk_queue_flag_clear(QUEUE_FLAG_NOMERGES, disk->queue); in queue_nomerges_store()
291 blk_queue_flag_clear(QUEUE_FLAG_NOXMERGES, disk->queue); in queue_nomerges_store()
293 blk_queue_flag_set(QUEUE_FLAG_NOMERGES, disk->queue); in queue_nomerges_store()
295 blk_queue_flag_set(QUEUE_FLAG_NOXMERGES, disk->queue); in queue_nomerges_store()
300 static ssize_t queue_rq_affinity_show(struct gendisk *disk, char *page) in queue_rq_affinity_show() argument
302 bool set = test_bit(QUEUE_FLAG_SAME_COMP, &disk->queue->queue_flags); in queue_rq_affinity_show()
303 bool force = test_bit(QUEUE_FLAG_SAME_FORCE, &disk->queue->queue_flags); in queue_rq_affinity_show()
309 queue_rq_affinity_store(struct gendisk *disk, const char *page, size_t count) in queue_rq_affinity_store() argument
313 struct request_queue *q = disk->queue; in queue_rq_affinity_store()
334 static ssize_t queue_poll_delay_store(struct gendisk *disk, const char *page, in queue_poll_delay_store() argument
340 static ssize_t queue_poll_store(struct gendisk *disk, const char *page, in queue_poll_store() argument
343 if (!(disk->queue->limits.features & BLK_FEAT_POLL)) in queue_poll_store()
350 static ssize_t queue_io_timeout_show(struct gendisk *disk, char *page) in queue_io_timeout_show() argument
352 return sprintf(page, "%u\n", jiffies_to_msecs(disk->queue->rq_timeout)); in queue_io_timeout_show()
355 static ssize_t queue_io_timeout_store(struct gendisk *disk, const char *page, in queue_io_timeout_store() argument
365 blk_queue_rq_timeout(disk->queue, msecs_to_jiffies(val)); in queue_io_timeout_store()
370 static ssize_t queue_wc_show(struct gendisk *disk, char *page) in queue_wc_show() argument
372 if (blk_queue_write_cache(disk->queue)) in queue_wc_show()
377 static ssize_t queue_wc_store(struct gendisk *disk, const char *page, in queue_wc_store() argument
393 lim = queue_limits_start_update(disk->queue); in queue_wc_store()
398 err = queue_limits_commit_update(disk->queue, &lim); in queue_wc_store()
498 static ssize_t queue_wb_lat_show(struct gendisk *disk, char *page) in queue_wb_lat_show() argument
500 if (!wbt_rq_qos(disk->queue)) in queue_wb_lat_show()
503 if (wbt_disabled(disk->queue)) in queue_wb_lat_show()
507 div_u64(wbt_get_min_lat(disk->queue), 1000)); in queue_wb_lat_show()
510 static ssize_t queue_wb_lat_store(struct gendisk *disk, const char *page, in queue_wb_lat_store() argument
513 struct request_queue *q = disk->queue; in queue_wb_lat_store()
526 ret = wbt_init(disk); in queue_wb_lat_store()
617 struct gendisk *disk = container_of(kobj, struct gendisk, queue_kobj); in queue_attr_visible() local
618 struct request_queue *q = disk->queue; in queue_attr_visible()
631 struct gendisk *disk = container_of(kobj, struct gendisk, queue_kobj); in blk_mq_queue_attr_visible() local
632 struct request_queue *q = disk->queue; in blk_mq_queue_attr_visible()
659 struct gendisk *disk = container_of(kobj, struct gendisk, queue_kobj); in queue_attr_show() local
664 mutex_lock(&disk->queue->sysfs_lock); in queue_attr_show()
665 res = entry->show(disk, page); in queue_attr_show()
666 mutex_unlock(&disk->queue->sysfs_lock); in queue_attr_show()
675 struct gendisk *disk = container_of(kobj, struct gendisk, queue_kobj); in queue_attr_store() local
676 struct request_queue *q = disk->queue; in queue_attr_store()
688 res = entry->load_module(disk, page, length); in queue_attr_store()
695 res = entry->store(disk, page, length); in queue_attr_store()
723 static void blk_debugfs_remove(struct gendisk *disk) in blk_debugfs_remove() argument
725 struct request_queue *q = disk->queue; in blk_debugfs_remove()
740 int blk_register_queue(struct gendisk *disk) in blk_register_queue() argument
742 struct request_queue *q = disk->queue; in blk_register_queue()
746 kobject_init(&disk->queue_kobj, &blk_queue_ktype); in blk_register_queue()
747 ret = kobject_add(&disk->queue_kobj, &disk_to_dev(disk)->kobj, "queue"); in blk_register_queue()
752 ret = blk_mq_sysfs_register(disk); in blk_register_queue()
759 q->debugfs_dir = debugfs_create_dir(disk->disk_name, blk_debugfs_root); in blk_register_queue()
764 ret = disk_register_independent_access_ranges(disk); in blk_register_queue()
774 ret = blk_crypto_sysfs_register(disk); in blk_register_queue()
779 wbt_enable_default(disk); in blk_register_queue()
782 kobject_uevent(&disk->queue_kobj, KOBJ_ADD); in blk_register_queue()
807 disk_unregister_independent_access_ranges(disk); in blk_register_queue()
809 blk_debugfs_remove(disk); in blk_register_queue()
812 kobject_put(&disk->queue_kobj); in blk_register_queue()
824 void blk_unregister_queue(struct gendisk *disk) in blk_unregister_queue() argument
826 struct request_queue *q = disk->queue; in blk_unregister_queue()
850 blk_mq_sysfs_unregister(disk); in blk_unregister_queue()
851 blk_crypto_sysfs_unregister(disk); in blk_unregister_queue()
855 disk_unregister_independent_access_ranges(disk); in blk_unregister_queue()
859 kobject_uevent(&disk->queue_kobj, KOBJ_REMOVE); in blk_unregister_queue()
860 kobject_del(&disk->queue_kobj); in blk_unregister_queue()
863 blk_debugfs_remove(disk); in blk_unregister_queue()