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>
 
        root->highest_objectid = 0;
        root->name = NULL;
        root->in_sysfs = 0;
-       root->inode_tree.rb_node = NULL;
+       root->inode_tree = RB_ROOT;
 
        INIT_LIST_HEAD(&root->dirty_list);
        INIT_LIST_HEAD(&root->orphan_list);
        insert_inode_hash(fs_info->btree_inode);
 
        spin_lock_init(&fs_info->block_group_cache_lock);
-       fs_info->block_group_cache_tree.rb_node = NULL;
+       fs_info->block_group_cache_tree = RB_ROOT;
 
        extent_io_tree_init(&fs_info->freed_extents[0],
                             fs_info->btree_inode->i_mapping, GFP_NOFS);
 
 void extent_io_tree_init(struct extent_io_tree *tree,
                          struct address_space *mapping, gfp_t mask)
 {
-       tree->state.rb_node = NULL;
-       tree->buffer.rb_node = NULL;
+       tree->state = RB_ROOT;
+       tree->buffer = RB_ROOT;
        tree->ops = NULL;
        tree->dirty_bytes = 0;
        spin_lock_init(&tree->lock);
 
  */
 void extent_map_tree_init(struct extent_map_tree *tree, gfp_t mask)
 {
-       tree->map.rb_node = NULL;
+       tree->map = RB_ROOT;
        rwlock_init(&tree->lock);
 }
 
 
                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);
 {
        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);
 
 btrfs_ordered_inode_tree_init(struct btrfs_ordered_inode_tree *t)
 {
        mutex_init(&t->mutex);
-       t->tree.rb_node = NULL;
+       t->tree = RB_ROOT;
        t->last = NULL;
 }
 
 
 
 static inline void btrfs_leaf_ref_tree_init(struct btrfs_leaf_ref_tree *tree)
 {
-       tree->root.rb_node = NULL;
+       tree->root = RB_ROOT;
        INIT_LIST_HEAD(&tree->list);
        spin_lock_init(&tree->lock);
 }
 
 
 static void mapping_tree_init(struct mapping_tree *tree)
 {
-       tree->rb_root.rb_node = NULL;
+       tree->rb_root = RB_ROOT;
        spin_lock_init(&tree->lock);
 }
 
 static void backref_cache_init(struct backref_cache *cache)
 {
        int i;
-       cache->rb_root.rb_node = NULL;
+       cache->rb_root = RB_ROOT;
        for (i = 0; i < BTRFS_MAX_LEVEL; i++)
                INIT_LIST_HEAD(&cache->pending[i]);
        spin_lock_init(&cache->lock);
 
                cur_trans->commit_done = 0;
                cur_trans->start_time = get_seconds();
 
-               cur_trans->delayed_refs.root.rb_node = NULL;
+               cur_trans->delayed_refs.root = RB_ROOT;
                cur_trans->delayed_refs.num_entries = 0;
                cur_trans->delayed_refs.num_heads_ready = 0;
                cur_trans->delayed_refs.num_heads = 0;