Btrfs: use RB_ROOT to intialize rb_trees instead of setting rb_node to NULL
btrfs inialize rb trees in quite a number of places by settin rb_node =
NULL; The problem with this is that 17d9ddc72f
in the
linux-next tree adds a new field to that struct which needs to be NULL for
the new rbtree library code to work properly. This patch uses RB_ROOT as
the intializer so all of the relevant fields will be NULL'd. Without the
patch I get a panic.
Signed-off-by: Eric Paris <eparis@redhat.com>
Acked-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
@@ -870,7 +870,7 @@ __btrfs_return_cluster_to_free_space(
|
||||
tree_insert_offset(&block_group->free_space_offset,
|
||||
entry->offset, &entry->offset_index, 0);
|
||||
}
|
||||
cluster->root.rb_node = NULL;
|
||||
cluster->root = RB_ROOT;
|
||||
|
||||
out:
|
||||
spin_unlock(&cluster->lock);
|
||||
@@ -1355,7 +1355,7 @@ void btrfs_init_free_cluster(struct btrfs_free_cluster *cluster)
|
||||
{
|
||||
spin_lock_init(&cluster->lock);
|
||||
spin_lock_init(&cluster->refill_lock);
|
||||
cluster->root.rb_node = NULL;
|
||||
cluster->root = RB_ROOT;
|
||||
cluster->max_size = 0;
|
||||
cluster->points_to_bitmap = false;
|
||||
INIT_LIST_HEAD(&cluster->block_group_list);
|
||||
|
Reference in New Issue
Block a user