Lines Matching refs:disk

25 	ssize_t (*show)(struct gendisk *disk, char *page);
26 ssize_t (*show_limit)(struct gendisk *disk, char *page);
28 ssize_t (*store)(struct gendisk *disk, const char *page, size_t count);
29 int (*store_limit)(struct gendisk *disk, const char *page,
54 static ssize_t queue_requests_show(struct gendisk *disk, char *page) in queue_requests_show() argument
58 mutex_lock(&disk->queue->elevator_lock); in queue_requests_show()
59 ret = queue_var_show(disk->queue->nr_requests, page); in queue_requests_show()
60 mutex_unlock(&disk->queue->elevator_lock); in queue_requests_show()
65 queue_requests_store(struct gendisk *disk, const char *page, size_t count) in queue_requests_store() argument
67 struct request_queue *q = disk->queue; in queue_requests_store()
136 static ssize_t queue_async_depth_show(struct gendisk *disk, char *page) in queue_async_depth_show() argument
138 guard(mutex)(&disk->queue->elevator_lock); in queue_async_depth_show()
140 return queue_var_show(disk->queue->async_depth, page); in queue_async_depth_show()
144 queue_async_depth_store(struct gendisk *disk, const char *page, size_t count) in queue_async_depth_store() argument
146 struct request_queue *q = disk->queue; in queue_async_depth_store()
176 static ssize_t queue_ra_show(struct gendisk *disk, char *page) in queue_ra_show() argument
180 mutex_lock(&disk->queue->limits_lock); in queue_ra_show()
181 ret = queue_var_show(disk->bdi->ra_pages << (PAGE_SHIFT - 10), page); in queue_ra_show()
182 mutex_unlock(&disk->queue->limits_lock); in queue_ra_show()
188 queue_ra_store(struct gendisk *disk, const char *page, size_t count) in queue_ra_store() argument
192 struct request_queue *q = disk->queue; in queue_ra_store()
206 WRITE_ONCE(disk->bdi->ra_pages, ra_kb >> (PAGE_SHIFT - 10)); in queue_ra_store()
213 static ssize_t queue_##_field##_show(struct gendisk *disk, char *page) \
215 return queue_var_show(disk->queue->limits._field, page); \
239 static ssize_t queue_##_field##_show(struct gendisk *disk, char *page) \ in QUEUE_SYSFS_LIMIT_SHOW()
242 (unsigned long long)disk->queue->limits._field << \ in QUEUE_SYSFS_LIMIT_SHOW()
256 static ssize_t queue_##_field##_show(struct gendisk *disk, char *page) \
258 return queue_var_show(disk->queue->limits._field >> 1, page); \
265 static ssize_t queue_##_name##_show(struct gendisk *disk, char *page) \
275 static int queue_max_discard_sectors_store(struct gendisk *disk,
285 if (max_discard_bytes & (disk->queue->limits.discard_granularity - 1))
295 static int queue_max_wzeroes_unmap_sectors_store(struct gendisk *disk, in queue_max_wzeroes_unmap_sectors_store() argument
314 queue_max_sectors_store(struct gendisk *disk, const char *page, size_t count, in queue_max_sectors_store() argument
328 static ssize_t queue_feature_store(struct gendisk *disk, const char *page, in queue_feature_store() argument
346 static ssize_t queue_##_name##_show(struct gendisk *disk, char *page) \
349 !!(disk->queue->limits.features & _feature)); \
351 static int queue_##_name##_store(struct gendisk *disk, \
354 return queue_feature_store(disk, page, count, lim, _feature); \
363 static ssize_t queue_##_name##_show(struct gendisk *disk, char *page) \
366 !!(disk->queue->limits.features & _feature)); \
372 static ssize_t queue_poll_show(struct gendisk *disk, char *page) in queue_poll_show() argument
374 if (queue_is_mq(disk->queue)) in queue_poll_show()
375 return sysfs_emit(page, "%u\n", blk_mq_can_poll(disk->queue)); in queue_poll_show()
378 !!(disk->queue->limits.features & BLK_FEAT_POLL)); in queue_poll_show()
381 static ssize_t queue_zoned_show(struct gendisk *disk, char *page) in queue_zoned_show() argument
383 if (blk_queue_is_zoned(disk->queue)) in queue_zoned_show()
388 static ssize_t queue_nr_zones_show(struct gendisk *disk, char *page) in queue_nr_zones_show() argument
390 return queue_var_show(disk_nr_zones(disk), page); in queue_nr_zones_show()
393 static ssize_t queue_iostats_passthrough_show(struct gendisk *disk, char *page) in queue_iostats_passthrough_show() argument
395 return queue_var_show(!!blk_queue_passthrough_stat(disk->queue), page); in queue_iostats_passthrough_show()
398 static int queue_iostats_passthrough_store(struct gendisk *disk, in queue_iostats_passthrough_store() argument
415 static ssize_t queue_nomerges_show(struct gendisk *disk, char *page) in queue_nomerges_show() argument
417 return queue_var_show((blk_queue_nomerges(disk->queue) << 1) | in queue_nomerges_show()
418 blk_queue_noxmerges(disk->queue), page); in queue_nomerges_show()
421 static ssize_t queue_nomerges_store(struct gendisk *disk, const char *page, in queue_nomerges_store() argument
425 struct request_queue *q = disk->queue; in queue_nomerges_store()
441 static ssize_t queue_rq_affinity_show(struct gendisk *disk, char *page) in queue_rq_affinity_show() argument
443 bool set = test_bit(QUEUE_FLAG_SAME_COMP, &disk->queue->queue_flags); in queue_rq_affinity_show()
444 bool force = test_bit(QUEUE_FLAG_SAME_FORCE, &disk->queue->queue_flags); in queue_rq_affinity_show()
450 queue_rq_affinity_store(struct gendisk *disk, const char *page, size_t count) in queue_rq_affinity_store() argument
454 struct request_queue *q = disk->queue; in queue_rq_affinity_store()
481 static ssize_t queue_poll_delay_store(struct gendisk *disk, const char *page, in queue_poll_delay_store() argument
487 static ssize_t queue_poll_store(struct gendisk *disk, const char *page, in queue_poll_store() argument
491 struct request_queue *q = disk->queue; in queue_poll_store()
504 static ssize_t queue_io_timeout_show(struct gendisk *disk, char *page) in queue_io_timeout_show() argument
507 jiffies_to_msecs(READ_ONCE(disk->queue->rq_timeout))); in queue_io_timeout_show()
510 static ssize_t queue_io_timeout_store(struct gendisk *disk, const char *page, in queue_io_timeout_store() argument
515 struct request_queue *q = disk->queue; in queue_io_timeout_store()
526 static ssize_t queue_wc_show(struct gendisk *disk, char *page) in queue_wc_show() argument
528 if (blk_queue_write_cache(disk->queue)) in queue_wc_show()
533 static int queue_wc_store(struct gendisk *disk, const char *page, in queue_wc_store() argument
661 static ssize_t queue_wb_lat_show(struct gendisk *disk, char *page) in queue_wb_lat_show() argument
664 struct request_queue *q = disk->queue; in queue_wb_lat_show()
666 mutex_lock(&disk->rqos_state_mutex); in queue_wb_lat_show()
679 mutex_unlock(&disk->rqos_state_mutex); in queue_wb_lat_show()
683 static ssize_t queue_wb_lat_store(struct gendisk *disk, const char *page, in queue_wb_lat_store() argument
695 ret = wbt_set_lat(disk, val); in queue_wb_lat_store()
785 struct gendisk *disk = container_of(kobj, struct gendisk, queue_kobj); in queue_attr_visible() local
786 struct request_queue *q = disk->queue; in queue_attr_visible()
799 struct gendisk *disk = container_of(kobj, struct gendisk, queue_kobj); in blk_mq_queue_attr_visible() local
800 struct request_queue *q = disk->queue; in blk_mq_queue_attr_visible()
827 struct gendisk *disk = container_of(kobj, struct gendisk, queue_kobj); in queue_attr_show() local
835 mutex_lock(&disk->queue->limits_lock); in queue_attr_show()
836 res = entry->show_limit(disk, page); in queue_attr_show()
837 mutex_unlock(&disk->queue->limits_lock); in queue_attr_show()
841 return entry->show(disk, page); in queue_attr_show()
849 struct gendisk *disk = container_of(kobj, struct gendisk, queue_kobj); in queue_attr_store() local
850 struct request_queue *q = disk->queue; in queue_attr_store()
860 res = entry->store_limit(disk, page, length, &lim); in queue_attr_store()
872 return entry->store(disk, page, length); in queue_attr_store()
897 static void blk_debugfs_remove(struct gendisk *disk) in blk_debugfs_remove() argument
899 struct request_queue *q = disk->queue; in blk_debugfs_remove()
914 int blk_register_queue(struct gendisk *disk) in blk_register_queue() argument
916 struct request_queue *q = disk->queue; in blk_register_queue()
920 ret = kobject_add(&disk->queue_kobj, &disk_to_dev(disk)->kobj, "queue"); in blk_register_queue()
925 ret = blk_mq_sysfs_register(disk); in blk_register_queue()
932 q->debugfs_dir = debugfs_create_dir(disk->disk_name, blk_debugfs_root); in blk_register_queue()
937 ret = disk_register_independent_access_ranges(disk); in blk_register_queue()
941 ret = blk_crypto_sysfs_register(disk); in blk_register_queue()
949 wbt_init_enable_default(disk); in blk_register_queue()
952 kobject_uevent(&disk->queue_kobj, KOBJ_ADD); in blk_register_queue()
972 disk_unregister_independent_access_ranges(disk); in blk_register_queue()
974 blk_debugfs_remove(disk); in blk_register_queue()
977 blk_mq_sysfs_unregister(disk); in blk_register_queue()
979 kobject_del(&disk->queue_kobj); in blk_register_queue()
990 void blk_unregister_queue(struct gendisk *disk) in blk_unregister_queue() argument
992 struct request_queue *q = disk->queue; in blk_unregister_queue()
1015 blk_mq_sysfs_unregister(disk); in blk_unregister_queue()
1016 blk_crypto_sysfs_unregister(disk); in blk_unregister_queue()
1019 disk_unregister_independent_access_ranges(disk); in blk_unregister_queue()
1023 kobject_uevent(&disk->queue_kobj, KOBJ_REMOVE); in blk_unregister_queue()
1024 kobject_del(&disk->queue_kobj); in blk_unregister_queue()
1029 blk_debugfs_remove(disk); in blk_unregister_queue()