Lines Matching refs:pt
2337 static bool passdown_enabled(struct pool_c *pt) in passdown_enabled() argument
2339 return pt->adjusted_pf.discard_passdown; in passdown_enabled()
2344 struct pool_c *pt = pool->ti->private; in set_discard_callbacks() local
2346 if (passdown_enabled(pt)) { in set_discard_callbacks()
2357 struct pool_c *pt = pool->ti->private; in set_pool_mode() local
2435 pool->pf.error_if_no_space = pt->requested_pf.error_if_no_space; in set_pool_mode()
2450 pt->adjusted_pf.mode = new_mode; in set_pool_mode()
2630 struct pool_c *pt = container_of(cb, struct pool_c, callbacks); in pool_is_congested() local
2633 if (get_pool_mode(pt->pool) == PM_OUT_OF_DATA_SPACE) in pool_is_congested()
2636 q = bdev_get_queue(pt->data_dev->bdev); in pool_is_congested()
2658 static bool data_dev_supports_discard(struct pool_c *pt) in data_dev_supports_discard() argument
2660 struct request_queue *q = bdev_get_queue(pt->data_dev->bdev); in data_dev_supports_discard()
2674 static void disable_passdown_if_not_supported(struct pool_c *pt) in disable_passdown_if_not_supported() argument
2676 struct pool *pool = pt->pool; in disable_passdown_if_not_supported()
2677 struct block_device *data_bdev = pt->data_dev->bdev; in disable_passdown_if_not_supported()
2682 if (!pt->adjusted_pf.discard_passdown) in disable_passdown_if_not_supported()
2685 if (!data_dev_supports_discard(pt)) in disable_passdown_if_not_supported()
2693 pt->adjusted_pf.discard_passdown = false; in disable_passdown_if_not_supported()
2699 struct pool_c *pt = ti->private; in bind_control_target() local
2705 enum pool_mode new_mode = pt->adjusted_pf.mode; in bind_control_target()
2712 pt->adjusted_pf.mode = old_mode; in bind_control_target()
2715 pool->pf = pt->adjusted_pf; in bind_control_target()
2716 pool->low_water_blocks = pt->low_water_blocks; in bind_control_target()
2946 struct pool_c *pt = ti->private; in pool_dtr() local
2950 unbind_control_target(pt->pool, ti); in pool_dtr()
2951 __pool_dec(pt->pool); in pool_dtr()
2952 dm_put_device(ti, pt->metadata_dev); in pool_dtr()
2953 dm_put_device(ti, pt->data_dev); in pool_dtr()
2954 kfree(pt); in pool_dtr()
3059 static dm_block_t calc_metadata_threshold(struct pool_c *pt) in calc_metadata_threshold() argument
3066 dm_block_t quarter = get_metadata_dev_size_in_blocks(pt->metadata_dev->bdev) / 4; in calc_metadata_threshold()
3086 struct pool_c *pt; in pool_ctr() local
3149 pt = kzalloc(sizeof(*pt), GFP_KERNEL); in pool_ctr()
3150 if (!pt) { in pool_ctr()
3174 pt->pool = pool; in pool_ctr()
3175 pt->ti = ti; in pool_ctr()
3176 pt->metadata_dev = metadata_dev; in pool_ctr()
3177 pt->data_dev = data_dev; in pool_ctr()
3178 pt->low_water_blocks = low_water_blocks; in pool_ctr()
3179 pt->adjusted_pf = pt->requested_pf = pf; in pool_ctr()
3198 ti->private = pt; in pool_ctr()
3200 r = dm_pool_register_metadata_threshold(pt->pool->pmd, in pool_ctr()
3201 calc_metadata_threshold(pt), in pool_ctr()
3207 pt->callbacks.congested_fn = pool_is_congested; in pool_ctr()
3208 dm_table_add_target_callbacks(ti->table, &pt->callbacks); in pool_ctr()
3217 kfree(pt); in pool_ctr()
3231 struct pool_c *pt = ti->private; in pool_map() local
3232 struct pool *pool = pt->pool; in pool_map()
3239 bio->bi_bdev = pt->data_dev->bdev; in pool_map()
3249 struct pool_c *pt = ti->private; in maybe_resize_data_dev() local
3250 struct pool *pool = pt->pool; in maybe_resize_data_dev()
3297 struct pool_c *pt = ti->private; in maybe_resize_metadata_dev() local
3298 struct pool *pool = pt->pool; in maybe_resize_metadata_dev()
3356 struct pool_c *pt = ti->private; in pool_preresume() local
3357 struct pool *pool = pt->pool; in pool_preresume()
3406 struct pool_c *pt = ti->private; in pool_resume() local
3407 struct pool *pool = pt->pool; in pool_resume()
3427 struct pool_c *pt = ti->private; in pool_presuspend() local
3428 struct pool *pool = pt->pool; in pool_presuspend()
3440 struct pool_c *pt = ti->private; in pool_presuspend_undo() local
3441 struct pool *pool = pt->pool; in pool_presuspend_undo()
3453 struct pool_c *pt = ti->private; in pool_postsuspend() local
3454 struct pool *pool = pt->pool; in pool_postsuspend()
3629 struct pool_c *pt = ti->private; in pool_message() local
3630 struct pool *pool = pt->pool; in pool_message()
3708 struct pool_c *pt = ti->private; in pool_status() local
3709 struct pool *pool = pt->pool; in pool_status()
3804 format_dev_t(buf, pt->metadata_dev->bdev->bd_dev), in pool_status()
3805 format_dev_t(buf2, pt->data_dev->bdev->bd_dev), in pool_status()
3807 (unsigned long long)pt->low_water_blocks); in pool_status()
3808 emit_flags(&pt->requested_pf, result, sz, maxlen); in pool_status()
3820 struct pool_c *pt = ti->private; in pool_iterate_devices() local
3822 return fn(ti, pt->data_dev, 0, ti->len, data); in pool_iterate_devices()
3827 struct pool_c *pt = ti->private; in pool_io_hints() local
3828 struct pool *pool = pt->pool; in pool_io_hints()
3866 if (!pt->adjusted_pf.discard_enabled) { in pool_io_hints()
3877 disable_passdown_if_not_supported(pt); in pool_io_hints()