Lines Matching refs:pt
2108 struct pool_c *pt = pool->ti->private; in set_pool_mode() local
2202 pt->adjusted_pf.mode = new_mode; in set_pool_mode()
2380 struct pool_c *pt = container_of(cb, struct pool_c, callbacks); in pool_is_congested() local
2383 if (get_pool_mode(pt->pool) == PM_OUT_OF_DATA_SPACE) in pool_is_congested()
2386 q = bdev_get_queue(pt->data_dev->bdev); in pool_is_congested()
2408 static bool data_dev_supports_discard(struct pool_c *pt) in data_dev_supports_discard() argument
2410 struct request_queue *q = bdev_get_queue(pt->data_dev->bdev); in data_dev_supports_discard()
2424 static void disable_passdown_if_not_supported(struct pool_c *pt) in disable_passdown_if_not_supported() argument
2426 struct pool *pool = pt->pool; in disable_passdown_if_not_supported()
2427 struct block_device *data_bdev = pt->data_dev->bdev; in disable_passdown_if_not_supported()
2433 if (!pt->adjusted_pf.discard_passdown) in disable_passdown_if_not_supported()
2436 if (!data_dev_supports_discard(pt)) in disable_passdown_if_not_supported()
2450 pt->adjusted_pf.discard_passdown = false; in disable_passdown_if_not_supported()
2456 struct pool_c *pt = ti->private; in bind_control_target() local
2462 enum pool_mode new_mode = pt->adjusted_pf.mode; in bind_control_target()
2469 pt->adjusted_pf.mode = old_mode; in bind_control_target()
2472 pool->pf = pt->adjusted_pf; in bind_control_target()
2473 pool->low_water_blocks = pt->low_water_blocks; in bind_control_target()
2703 struct pool_c *pt = ti->private; in pool_dtr() local
2707 unbind_control_target(pt->pool, ti); in pool_dtr()
2708 __pool_dec(pt->pool); in pool_dtr()
2709 dm_put_device(ti, pt->metadata_dev); in pool_dtr()
2710 dm_put_device(ti, pt->data_dev); in pool_dtr()
2711 kfree(pt); in pool_dtr()
2816 static dm_block_t calc_metadata_threshold(struct pool_c *pt) in calc_metadata_threshold() argument
2823 dm_block_t quarter = get_metadata_dev_size_in_blocks(pt->metadata_dev->bdev) / 4; in calc_metadata_threshold()
2843 struct pool_c *pt; in pool_ctr() local
2906 pt = kzalloc(sizeof(*pt), GFP_KERNEL); in pool_ctr()
2907 if (!pt) { in pool_ctr()
2931 pt->pool = pool; in pool_ctr()
2932 pt->ti = ti; in pool_ctr()
2933 pt->metadata_dev = metadata_dev; in pool_ctr()
2934 pt->data_dev = data_dev; in pool_ctr()
2935 pt->low_water_blocks = low_water_blocks; in pool_ctr()
2936 pt->adjusted_pf = pt->requested_pf = pf; in pool_ctr()
2955 ti->private = pt; in pool_ctr()
2957 r = dm_pool_register_metadata_threshold(pt->pool->pmd, in pool_ctr()
2958 calc_metadata_threshold(pt), in pool_ctr()
2964 pt->callbacks.congested_fn = pool_is_congested; in pool_ctr()
2965 dm_table_add_target_callbacks(ti->table, &pt->callbacks); in pool_ctr()
2974 kfree(pt); in pool_ctr()
2988 struct pool_c *pt = ti->private; in pool_map() local
2989 struct pool *pool = pt->pool; in pool_map()
2996 bio->bi_bdev = pt->data_dev->bdev; in pool_map()
3006 struct pool_c *pt = ti->private; in maybe_resize_data_dev() local
3007 struct pool *pool = pt->pool; in maybe_resize_data_dev()
3054 struct pool_c *pt = ti->private; in maybe_resize_metadata_dev() local
3055 struct pool *pool = pt->pool; in maybe_resize_metadata_dev()
3113 struct pool_c *pt = ti->private; in pool_preresume() local
3114 struct pool *pool = pt->pool; in pool_preresume()
3163 struct pool_c *pt = ti->private; in pool_resume() local
3164 struct pool *pool = pt->pool; in pool_resume()
3184 struct pool_c *pt = ti->private; in pool_presuspend() local
3185 struct pool *pool = pt->pool; in pool_presuspend()
3197 struct pool_c *pt = ti->private; in pool_presuspend_undo() local
3198 struct pool *pool = pt->pool; in pool_presuspend_undo()
3210 struct pool_c *pt = ti->private; in pool_postsuspend() local
3211 struct pool *pool = pt->pool; in pool_postsuspend()
3386 struct pool_c *pt = ti->private; in pool_message() local
3387 struct pool *pool = pt->pool; in pool_message()
3464 struct pool_c *pt = ti->private; in pool_status() local
3465 struct pool *pool = pt->pool; in pool_status()
3555 format_dev_t(buf, pt->metadata_dev->bdev->bd_dev), in pool_status()
3556 format_dev_t(buf2, pt->data_dev->bdev->bd_dev), in pool_status()
3558 (unsigned long long)pt->low_water_blocks); in pool_status()
3559 emit_flags(&pt->requested_pf, result, sz, maxlen); in pool_status()
3571 struct pool_c *pt = ti->private; in pool_iterate_devices() local
3573 return fn(ti, pt->data_dev, 0, ti->len, data); in pool_iterate_devices()
3579 struct pool_c *pt = ti->private; in pool_merge() local
3580 struct request_queue *q = bdev_get_queue(pt->data_dev->bdev); in pool_merge()
3585 bvm->bi_bdev = pt->data_dev->bdev; in pool_merge()
3590 static void set_discard_limits(struct pool_c *pt, struct queue_limits *limits) in set_discard_limits() argument
3592 struct pool *pool = pt->pool; in set_discard_limits()
3600 if (pt->adjusted_pf.discard_passdown) { in set_discard_limits()
3601 data_limits = &bdev_get_queue(pt->data_dev->bdev)->limits; in set_discard_limits()
3610 struct pool_c *pt = ti->private; in pool_io_hints() local
3611 struct pool *pool = pt->pool; in pool_io_hints()
3649 if (!pt->adjusted_pf.discard_enabled) { in pool_io_hints()
3660 disable_passdown_if_not_supported(pt); in pool_io_hints()
3662 set_discard_limits(pt, limits); in pool_io_hints()