Lines Matching refs:disk

304 static struct blkcg_gq *blkg_alloc(struct blkcg *blkcg, struct gendisk *disk,  in blkg_alloc()  argument
311 blkg = kzalloc_node(sizeof(*blkg), gfp_mask, disk->queue->node); in blkg_alloc()
319 if (!blk_get_queue(disk->queue)) in blkg_alloc()
322 blkg->q = disk->queue; in blkg_alloc()
342 if (!blkcg_policy_enabled(disk->queue, pol)) in blkg_alloc()
346 pd = pol->pd_alloc_fn(disk, blkcg, gfp_mask); in blkg_alloc()
361 blk_put_queue(disk->queue); in blkg_alloc()
375 static struct blkcg_gq *blkg_create(struct blkcg *blkcg, struct gendisk *disk, in blkg_create() argument
381 lockdep_assert_held(&disk->queue->queue_lock); in blkg_create()
384 if (blk_queue_dying(disk->queue)) { in blkg_create()
397 new_blkg = blkg_alloc(blkcg, disk, GFP_NOWAIT); in blkg_create()
407 blkg->parent = blkg_lookup(blkcg_parent(blkcg), disk->queue); in blkg_create()
425 ret = radix_tree_insert(&blkcg->blkg_tree, disk->queue->id, blkg); in blkg_create()
428 list_add(&blkg->q_node, &disk->queue->blkg_list); in blkg_create()
472 struct gendisk *disk) in blkg_lookup_create() argument
474 struct request_queue *q = disk->queue; in blkg_lookup_create()
514 blkg = blkg_create(pos, disk, NULL); in blkg_lookup_create()
575 static void blkg_destroy_all(struct gendisk *disk) in blkg_destroy_all() argument
577 struct request_queue *q = disk->queue; in blkg_destroy_all()
688 if (!blkg->q->disk) in blkg_dev_name()
690 return bdi_dev_name(blkg->q->disk->bdi); in blkg_dev_name()
874 struct gendisk *disk; in blkg_conf_prep() local
883 disk = ctx->bdev->bd_disk; in blkg_conf_prep()
884 q = disk->queue; in blkg_conf_prep()
923 new_blkg = blkg_alloc(pos, disk, GFP_KERNEL); in blkg_conf_prep()
947 blkg = blkg_create(pos, disk, new_blkg); in blkg_conf_prep()
1513 int blkcg_init_disk(struct gendisk *disk) in blkcg_init_disk() argument
1515 struct request_queue *q = disk->queue; in blkcg_init_disk()
1519 new_blkg = blkg_alloc(&blkcg_root, disk, GFP_KERNEL); in blkcg_init_disk()
1528 blkg = blkg_create(&blkcg_root, disk, new_blkg); in blkcg_init_disk()
1546 void blkcg_exit_disk(struct gendisk *disk) in blkcg_exit_disk() argument
1548 blkg_destroy_all(disk); in blkcg_exit_disk()
1549 blk_throtl_exit(disk); in blkcg_exit_disk()
1596 int blkcg_activate_policy(struct gendisk *disk, const struct blkcg_policy *pol) in blkcg_activate_policy() argument
1598 struct request_queue *q = disk->queue; in blkcg_activate_policy()
1632 pd = pol->pd_alloc_fn(disk, blkg->blkcg, in blkcg_activate_policy()
1650 pd_prealloc = pol->pd_alloc_fn(disk, blkg->blkcg, in blkcg_activate_policy()
1719 void blkcg_deactivate_policy(struct gendisk *disk, in blkcg_deactivate_policy() argument
1722 struct request_queue *q = disk->queue; in blkcg_deactivate_policy()
2015 struct gendisk *disk = current->throttle_disk; in blkcg_maybe_throttle_current() local
2020 if (!disk) in blkcg_maybe_throttle_current()
2030 blkg = blkg_lookup(blkcg, disk->queue); in blkcg_maybe_throttle_current()
2039 put_disk(disk); in blkcg_maybe_throttle_current()
2062 void blkcg_schedule_throttle(struct gendisk *disk, bool use_memdelay) in blkcg_schedule_throttle() argument
2067 if (current->throttle_disk != disk) { in blkcg_schedule_throttle()
2068 if (test_bit(GD_DEAD, &disk->state)) in blkcg_schedule_throttle()
2070 get_device(disk_to_dev(disk)); in blkcg_schedule_throttle()
2074 current->throttle_disk = disk; in blkcg_schedule_throttle()