diff options
author | Eric Paris <eparis@redhat.com> | 2010-02-23 14:43:04 -0500 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2010-03-08 16:26:50 -0500 |
commit | 6bef4d317193d3badbbfa3f3c593758ace84a629 (patch) | |
tree | 8aa9fcf3297c69033b9a9a83a27ecccaab0f9d7d /fs/btrfs/disk-io.c | |
parent | 3f6fae9559225741c91f1320090b285da1413290 (diff) |
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 17d9ddc72fb8bba0d4f678 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>
Diffstat (limited to 'fs/btrfs/disk-io.c')
-rw-r--r-- | fs/btrfs/disk-io.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 2b59201b955c..0427183e3e05 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c | |||
@@ -901,7 +901,7 @@ static int __setup_root(u32 nodesize, u32 leafsize, u32 sectorsize, | |||
901 | root->highest_objectid = 0; | 901 | root->highest_objectid = 0; |
902 | root->name = NULL; | 902 | root->name = NULL; |
903 | root->in_sysfs = 0; | 903 | root->in_sysfs = 0; |
904 | root->inode_tree.rb_node = NULL; | 904 | root->inode_tree = RB_ROOT; |
905 | 905 | ||
906 | INIT_LIST_HEAD(&root->dirty_list); | 906 | INIT_LIST_HEAD(&root->dirty_list); |
907 | INIT_LIST_HEAD(&root->orphan_list); | 907 | INIT_LIST_HEAD(&root->orphan_list); |
@@ -1673,7 +1673,7 @@ struct btrfs_root *open_ctree(struct super_block *sb, | |||
1673 | insert_inode_hash(fs_info->btree_inode); | 1673 | insert_inode_hash(fs_info->btree_inode); |
1674 | 1674 | ||
1675 | spin_lock_init(&fs_info->block_group_cache_lock); | 1675 | spin_lock_init(&fs_info->block_group_cache_lock); |
1676 | fs_info->block_group_cache_tree.rb_node = NULL; | 1676 | fs_info->block_group_cache_tree = RB_ROOT; |
1677 | 1677 | ||
1678 | extent_io_tree_init(&fs_info->freed_extents[0], | 1678 | extent_io_tree_init(&fs_info->freed_extents[0], |
1679 | fs_info->btree_inode->i_mapping, GFP_NOFS); | 1679 | fs_info->btree_inode->i_mapping, GFP_NOFS); |