Lines Matching refs:pf
227 struct pool_features pf; member
1060 if (len < pool->sectors_per_block && pool->pf.zero_new_blocks) { in schedule_copy()
1098 if (!pool->pf.zero_new_blocks) in schedule_zero()
1257 return pool->pf.error_if_no_space ? -ENOSPC : 0; in should_error_unserviceable_bio()
1335 m->pass_discard = pool->pf.discard_passdown; in process_discard_cell()
1356 if ((!lookup_result.shared) && pool->pf.discard_passdown) in process_discard_cell()
2027 if (get_pool_mode(pool) == PM_OUT_OF_DATA_SPACE && !pool->pf.error_if_no_space) in do_no_space_timeout()
2096 return pool->pf.mode; in get_pool_mode()
2180 if (!pool->pf.error_if_no_space && no_space_timeout) in set_pool_mode()
2197 pool->pf.mode = new_mode; in set_pool_mode()
2472 pool->pf = pt->adjusted_pf; in bind_control_target()
2490 static void pool_features_init(struct pool_features *pf) in pool_features_init() argument
2492 pf->mode = PM_WRITE; in pool_features_init()
2493 pf->zero_new_blocks = true; in pool_features_init()
2494 pf->discard_enabled = true; in pool_features_init()
2495 pf->discard_passdown = true; in pool_features_init()
2496 pf->error_if_no_space = false; in pool_features_init()
2554 pool_features_init(&pool->pf); in pool_create()
2716 static int parse_pool_features(struct dm_arg_set *as, struct pool_features *pf, in parse_pool_features() argument
2742 pf->zero_new_blocks = false; in parse_pool_features()
2745 pf->discard_enabled = false; in parse_pool_features()
2748 pf->discard_passdown = false; in parse_pool_features()
2751 pf->mode = PM_READ_ONLY; in parse_pool_features()
2754 pf->error_if_no_space = true; in parse_pool_features()
2845 struct pool_features pf; in pool_ctr() local
2870 pool_features_init(&pf); in pool_ctr()
2873 r = parse_pool_features(&as, &pf, ti); in pool_ctr()
2877 metadata_mode = FMODE_READ | ((pf.mode == PM_READ_ONLY) ? 0 : FMODE_WRITE); in pool_ctr()
2913 block_size, pf.mode == PM_READ_ONLY, &ti->error, &pool_created); in pool_ctr()
2925 if (!pool_created && pf.discard_enabled != pool->pf.discard_enabled) { in pool_ctr()
2936 pt->adjusted_pf = pt->requested_pf = pf; in pool_ctr()
2945 if (pf.discard_enabled && pf.discard_passdown) { in pool_ctr()
3422 static void emit_flags(struct pool_features *pf, char *result, in emit_flags() argument
3425 unsigned count = !pf->zero_new_blocks + !pf->discard_enabled + in emit_flags()
3426 !pf->discard_passdown + (pf->mode == PM_READ_ONLY) + in emit_flags()
3427 pf->error_if_no_space; in emit_flags()
3430 if (!pf->zero_new_blocks) in emit_flags()
3433 if (!pf->discard_enabled) in emit_flags()
3436 if (!pf->discard_passdown) in emit_flags()
3439 if (pf->mode == PM_READ_ONLY) in emit_flags()
3442 if (pf->error_if_no_space) in emit_flags()
3532 if (pool->pf.mode == PM_OUT_OF_DATA_SPACE) in pool_status()
3534 else if (pool->pf.mode == PM_READ_ONLY) in pool_status()
3539 if (!pool->pf.discard_enabled) in pool_status()
3541 else if (pool->pf.discard_passdown) in pool_status()
3546 if (pool->pf.error_if_no_space) in pool_status()
3825 if (tc->pool->pf.discard_enabled) { in thin_ctr()