value_type
char value_type;
switch (in_msg->body.kvp_set.data.value_type) {
kvp_data->value_type = REG_SZ; /* all our values are strings */
struct dm_btree_value_type *vt = &md->writeset_tree_info.value_type;
pmd->info.value_type.context = pmd->data_sm;
pmd->info.value_type.size = sizeof(__le64);
pmd->info.value_type.inc = data_block_inc;
pmd->info.value_type.dec = data_block_dec;
pmd->info.value_type.equal = data_block_equal;
pmd->tl_info.value_type.context = &pmd->bl_info;
pmd->tl_info.value_type.size = sizeof(__le64);
pmd->tl_info.value_type.inc = subtree_inc;
pmd->tl_info.value_type.dec = subtree_dec;
pmd->tl_info.value_type.equal = subtree_equal;
pmd->bl_info.value_type.context = pmd->data_sm;
pmd->bl_info.value_type.size = sizeof(__le64);
pmd->bl_info.value_type.inc = data_block_inc;
pmd->bl_info.value_type.dec = data_block_dec;
pmd->bl_info.value_type.equal = data_block_equal;
pmd->details_info.value_type.context = NULL;
pmd->details_info.value_type.size = sizeof(struct disk_device_details);
pmd->details_info.value_type.inc = NULL;
pmd->details_info.value_type.dec = NULL;
pmd->details_info.value_type.equal = NULL;
entry += index * info->value_type.size;
fn(info->value_type.context, element_at(info, ab, 0), nr_entries);
struct dm_btree_value_type *vt = &info->value_type;
struct dm_btree_value_type *vt = &info->value_type;
(*ab)->value_size = cpu_to_le32(info->value_type.size);
struct dm_btree_value_type *vt = &info->value_type;
struct dm_btree_value_type *vt = &info->value_type;
struct dm_btree_value_type *bvt = &info->btree_info.value_type;
memcpy(&info->value_type, vt, sizeof(info->value_type));
resize.max_entries = calc_max_entries(info->value_type.size,
struct dm_btree_value_type *vt = &info->value_type;
max_entries = calc_max_entries(info->value_type.size, size_of_block);
max_entries = calc_max_entries(info->value_type.size, size_of_block);
info->value_type.size);
struct dm_btree_value_type *vt = &info->value_type;
max_entries = calc_max_entries(info->value_type.size, size_of_block);
memcpy(old_value, value, info->value_type.size);
struct dm_btree_value_type value_type;
&info->value_type : &le64_vt),
if (info->value_type.dec)
info->value_type.dec(info->value_type.context,
r = remove_nearest(&spine, info, &info->value_type,
if (info->value_type.dec)
info->value_type.dec(info->value_type.context,
r = shadow_step(s, root, &s->info->value_type);
r = btree_insert_raw(&spine, block, &info->value_type,
r = insert_at(info->value_type.size, n, index,
if (info->value_type.dec &&
(!info->value_type.equal ||
!info->value_type.equal(
info->value_type.context,
info->value_type.dec(info->value_type.context,
value, info->value_type.size);
max_entries = calc_max_entries(info->value_type.size, block_size);
BUG_ON(c->info->value_type.size != sizeof(value_le));
n->header.value_size = cpu_to_le32(info->value_type.size);
memcpy(value_le, value_ptr(bn, n->index), c->info->value_type.size);
if (info->value_type.dec)
info->value_type.dec(info->value_type.context,
size = info->value_type.size;
memcpy(value_le, value_ptr(n, i), info->value_type.size);
sizeof(__le64) : s->info->value_type.size;
struct dm_btree_value_type value_type;
ll->bitmap_info.value_type.size = sizeof(struct disk_index_entry);
ll->bitmap_info.value_type.inc = NULL;
ll->bitmap_info.value_type.dec = NULL;
ll->bitmap_info.value_type.equal = NULL;
ll->ref_count_info.value_type.size = sizeof(uint32_t);
ll->ref_count_info.value_type.inc = NULL;
ll->ref_count_info.value_type.dec = NULL;
ll->ref_count_info.value_type.equal = NULL;
const struct btf_type *value_type);
const struct btf_type *value_type;
const struct btf_type *value_type);
const struct btf_type *value_type);
__u32 value_type;
const struct btf_type *key_type, const struct btf_type *value_type)
const struct btf_type *value_type)
if (BTF_INFO_KIND(value_type->info) != BTF_KIND_DATASEC)
const struct btf_type *value_type)
const struct btf_type *value_type)
if (!btf_type_is_i64(value_type))
const struct btf_type *value_type)
vt = st_ops_desc->value_type;
const struct btf_type *vt = st_ops_desc->value_type;
st_ops_desc->value_type = btf_type_by_id(btf, value_id);
err = check_zero_holes(st_map->btf, st_ops_desc->value_type, value);
const char *value_type;
value_type = btf_find_decl_tag_value(btf, pt, comp_idx, "contains:");
if (IS_ERR(value_type))
node_field_name = strstr(value_type, ":");
value_type = kstrndup(value_type, node_field_name - value_type,
if (!value_type)
id = btf_find_by_name_kind(btf, value_type, BTF_KIND_STRUCT);
kfree(value_type);
const struct btf_type *key_type, const struct btf_type *value_type)
const struct btf_type *value_type)
const struct btf_type *value_type)
const struct btf_type *value_type)
const struct btf_type *key_type, *value_type;
value_type = btf_type_id_size(btf, &btf_value_id, &value_size);
if (!value_type || value_size != map->value_size)
map->record = btf_parse_fields(btf, value_type,
ret = map->ops->map_check_btf(map, btf, key_type, value_type);
u8 min_type = ptr->value_type[0];
const u8 max_type = ptr->value_type[1];
a->group == b->group && a->value_type[0] == b->value_type[0] &&
a->value_type[1] == b->value_type[1];
u8 value_type[2];
ptr->value_type[0] = type;
ptr->value_type[1] = type;
ptr->value_type[1] = type;
struct value_type value = {};
struct value_type value = {};
__type(value, value_type);
value_type val_struct = { .x = 2000 };
value_type *value_struct;
__type(value, struct value_type);
struct value_type *ptr;
__type(value, struct value_type);
struct value_type *v;
struct value_type *v;
struct value_type *v;
struct value_type *v;
struct value_type *v;
attr_type = value_type(id);