Lines Matching +full:prop +full:-

1 // SPDX-License-Identifier: CDDL-1.0
10 * or https://opensource.org/licenses/CDDL-1.0.
79 * The zfs module spa_feature_table[], whether in-kernel or in libzpool, in zfs_mod_supported_prop()
98 zprop_register_impl(int prop, const char *name, zprop_type_t type, in zprop_register_impl() argument
108 pd = &prop_tbl[prop]; in zprop_register_impl()
110 ASSERT(pd->pd_name == NULL || pd->pd_name == name); in zprop_register_impl()
114 pd->pd_name = name; in zprop_register_impl()
115 pd->pd_propnum = prop; in zprop_register_impl()
116 pd->pd_proptype = type; in zprop_register_impl()
117 pd->pd_numdefault = numdefault; in zprop_register_impl()
118 pd->pd_strdefault = strdefault; in zprop_register_impl()
119 pd->pd_attr = attr; in zprop_register_impl()
120 pd->pd_types = objset_types; in zprop_register_impl()
121 pd->pd_values = values; in zprop_register_impl()
122 pd->pd_colname = colname; in zprop_register_impl()
123 pd->pd_rightalign = rightalign; in zprop_register_impl()
124 pd->pd_visible = visible; in zprop_register_impl()
125 pd->pd_zfs_mod_supported = in zprop_register_impl()
127 pd->pd_always_flex = flex; in zprop_register_impl()
128 pd->pd_table = idx_tbl; in zprop_register_impl()
129 pd->pd_table_size = 0; in zprop_register_impl()
130 while (idx_tbl && (idx_tbl++)->pi_name != NULL) in zprop_register_impl()
131 pd->pd_table_size++; in zprop_register_impl()
135 zprop_register_string(int prop, const char *name, const char *def, in zprop_register_string() argument
139 zprop_register_impl(prop, name, PROP_TYPE_STRING, 0, def, attr, in zprop_register_string()
146 zprop_register_number(int prop, const char *name, uint64_t def, in zprop_register_number() argument
151 zprop_register_impl(prop, name, PROP_TYPE_NUMBER, def, NULL, attr, in zprop_register_number()
157 zprop_register_index(int prop, const char *name, uint64_t def, in zprop_register_index() argument
162 zprop_register_impl(prop, name, PROP_TYPE_INDEX, def, NULL, attr, in zprop_register_index()
168 zprop_register_hidden(int prop, const char *name, zprop_type_t type, in zprop_register_hidden() argument
172 zprop_register_impl(prop, name, type, 0, NULL, attr, in zprop_register_hidden()
188 p1ro = (p1->pd_attr == PROP_READONLY); in zprop_compare()
189 p2ro = (p2->pd_attr == PROP_READONLY); in zprop_compare()
192 return (strcmp(p1->pd_name, p2->pd_name)); in zprop_compare()
194 return (p1ro ? -1 : 1); in zprop_compare()
207 int i, num_props, size, prop; in zprop_iter_common() local
230 prop = ZPROP_CONT; in zprop_iter_common()
232 if ((order[i]->pd_visible || show_all) && in zprop_iter_common()
233 order[i]->pd_zfs_mod_supported && in zprop_iter_common()
234 (func(order[i]->pd_propnum, cb) != ZPROP_CONT)) { in zprop_iter_common()
235 prop = order[i]->pd_propnum; in zprop_iter_common()
245 return (prop); in zprop_iter_common()
251 const char *propname = prop_entry->pd_name; in propname_match()
253 const char *colname = prop_entry->pd_colname; in propname_match()
283 zprop_name_to_prop_cb(int prop, void *cb_data) in zprop_name_to_prop_cb() argument
287 if (propname_match(data->propname, strlen(data->propname), in zprop_name_to_prop_cb()
288 &data->prop_tbl[prop])) in zprop_name_to_prop_cb()
289 return (prop); in zprop_name_to_prop_cb()
297 int prop; in zprop_name_to_prop() local
303 prop = zprop_iter_common(zprop_name_to_prop_cb, &cb_data, in zprop_name_to_prop()
306 return (prop == ZPROP_CONT ? ZPROP_INVAL : prop); in zprop_name_to_prop()
310 zprop_string_to_index(int prop, const char *string, uint64_t *index, in zprop_string_to_index() argument
317 if (prop == ZPROP_INVAL || prop == ZPROP_CONT) in zprop_string_to_index()
318 return (-1); in zprop_string_to_index()
320 ASSERT(prop < zprop_get_numprops(type)); in zprop_string_to_index()
322 if ((idx_tbl = prop_tbl[prop].pd_table) == NULL) in zprop_string_to_index()
323 return (-1); in zprop_string_to_index()
332 return (-1); in zprop_string_to_index()
336 zprop_index_to_string(int prop, uint64_t index, const char **string, in zprop_index_to_string() argument
343 if (prop == ZPROP_INVAL || prop == ZPROP_CONT) in zprop_index_to_string()
344 return (-1); in zprop_index_to_string()
346 ASSERT(prop < zprop_get_numprops(type)); in zprop_index_to_string()
348 if ((idx_tbl = prop_tbl[prop].pd_table) == NULL) in zprop_index_to_string()
349 return (-1); in zprop_index_to_string()
358 return (-1); in zprop_index_to_string()
365 zprop_random_value(int prop, uint64_t seed, zfs_type_t type) in zprop_random_value() argument
370 ASSERT((uint_t)prop < zprop_get_numprops(type)); in zprop_random_value()
372 idx_tbl = prop_tbl[prop].pd_table; in zprop_random_value()
377 return (idx_tbl[seed % prop_tbl[prop].pd_table_size].pi_value); in zprop_random_value()
381 zprop_values(int prop, zfs_type_t type) in zprop_values() argument
385 ASSERT(prop != ZPROP_INVAL && prop != ZPROP_CONT); in zprop_values()
386 ASSERT(prop < zprop_get_numprops(type)); in zprop_values()
390 return (prop_tbl[prop].pd_values); in zprop_values()
401 zprop_valid_for_type(int prop, zfs_type_t type, boolean_t headcheck) in zprop_valid_for_type() argument
405 if (prop == ZPROP_INVAL || prop == ZPROP_CONT) in zprop_valid_for_type()
408 ASSERT(prop < zprop_get_numprops(type)); in zprop_valid_for_type()
410 if (headcheck && prop_tbl[prop].pd_types == ZFS_TYPE_SNAPSHOT) in zprop_valid_for_type()
412 return ((prop_tbl[prop].pd_types & type) != 0); in zprop_valid_for_type()
424 c == '-' || c == '_' || c == '.' || c == ':'); in zprop_valid_char()
431 * or not. Only string columns are non-fixed.
434 zprop_width(int prop, boolean_t *fixed, zfs_type_t type) in zprop_width() argument
441 ASSERT(prop != ZPROP_INVAL && prop != ZPROP_CONT); in zprop_width()
442 ASSERT(prop < zprop_get_numprops(type)); in zprop_width()
445 pd = &prop_tbl[prop]; in zprop_width()
450 *fixed = !pd->pd_always_flex; in zprop_width()
455 ret = strlen(pd->pd_colname); in zprop_width()
458 * For fixed-width values, make sure the width is large enough to hold in zprop_width()
461 switch (pd->pd_proptype) { in zprop_width()
464 * The maximum length of a human-readable number is 5 characters in zprop_width()
473 if (type == ZFS_TYPE_POOL && prop == ZPOOL_PROP_HEALTH) in zprop_width()
478 idx = prop_tbl[prop].pd_table; in zprop_width()