cluster-table: fix incorrect b-tree node initialisation
This commit is contained in:
@@ -17,11 +17,11 @@ static const size_t nr_cluster_sizes
|
||||
|
||||
static int node_init(struct ec3_cluster_group *n)
|
||||
{
|
||||
memset(n, 0x0, sizeof *n);
|
||||
|
||||
for (int i = 0; i < EC3_CLUSTERS_PER_GROUP + 1; i++) {
|
||||
n->g_child_offsets[i] = b_i32_htob(EC3_INVALID_OFFSET);
|
||||
}
|
||||
memset(&n->g_nr_clusters, 0x0, sizeof n->g_nr_clusters);
|
||||
memset(n->g_reserved, 0x0, sizeof n->g_reserved);
|
||||
memset(n->g_clusters, 0x0, sizeof n->g_clusters);
|
||||
memset(n->g_child_offsets, 0xFF, sizeof n->g_child_offsets);
|
||||
memset(n->g_padding, 0x0, sizeof n->g_padding);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -97,6 +97,12 @@ static long tree_alloc_node(struct b_tree *p)
|
||||
return (long)len;
|
||||
}
|
||||
|
||||
static void __node_init(struct b_tree *tree, b_tree_node *n)
|
||||
{
|
||||
struct ec3_cluster_group *node = (struct ec3_cluster_group *)n;
|
||||
node_init(node);
|
||||
}
|
||||
|
||||
static unsigned long node_get_nr_entries(struct b_tree *tree, b_tree_node *n)
|
||||
{
|
||||
struct ec3_cluster_group *node = (struct ec3_cluster_group *)n;
|
||||
@@ -190,6 +196,7 @@ static const struct b_tree_ops cluster_table_ops = {
|
||||
.tree_put_node = tree_put_node,
|
||||
.tree_alloc_node = tree_alloc_node,
|
||||
|
||||
.node_init = __node_init,
|
||||
.node_get_nr_entries = node_get_nr_entries,
|
||||
.node_set_nr_entries = node_set_nr_entries,
|
||||
.node_get_entry = node_get_entry,
|
||||
|
||||
Reference in New Issue
Block a user