Commit 51d0f6d1 authored by Linus Torvalds's avatar Linus Torvalds

Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable

* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:
  Btrfs: kfree correct pointer during mount option parsing
  Btrfs: use RB_ROOT to intialize rb_trees instead of setting rb_node to NULL
parents 57d54889 da495ecc
...@@ -901,7 +901,7 @@ static int __setup_root(u32 nodesize, u32 leafsize, u32 sectorsize, ...@@ -901,7 +901,7 @@ static int __setup_root(u32 nodesize, u32 leafsize, u32 sectorsize,
root->highest_objectid = 0; root->highest_objectid = 0;
root->name = NULL; root->name = NULL;
root->in_sysfs = 0; 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->dirty_list);
INIT_LIST_HEAD(&root->orphan_list); INIT_LIST_HEAD(&root->orphan_list);
...@@ -1673,7 +1673,7 @@ struct btrfs_root *open_ctree(struct super_block *sb, ...@@ -1673,7 +1673,7 @@ struct btrfs_root *open_ctree(struct super_block *sb,
insert_inode_hash(fs_info->btree_inode); insert_inode_hash(fs_info->btree_inode);
spin_lock_init(&fs_info->block_group_cache_lock); 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], extent_io_tree_init(&fs_info->freed_extents[0],
fs_info->btree_inode->i_mapping, GFP_NOFS); fs_info->btree_inode->i_mapping, GFP_NOFS);
......
...@@ -104,8 +104,8 @@ void extent_io_exit(void) ...@@ -104,8 +104,8 @@ void extent_io_exit(void)
void extent_io_tree_init(struct extent_io_tree *tree, void extent_io_tree_init(struct extent_io_tree *tree,
struct address_space *mapping, gfp_t mask) struct address_space *mapping, gfp_t mask)
{ {
tree->state.rb_node = NULL; tree->state = RB_ROOT;
tree->buffer.rb_node = NULL; tree->buffer = RB_ROOT;
tree->ops = NULL; tree->ops = NULL;
tree->dirty_bytes = 0; tree->dirty_bytes = 0;
spin_lock_init(&tree->lock); spin_lock_init(&tree->lock);
......
...@@ -35,7 +35,7 @@ void extent_map_exit(void) ...@@ -35,7 +35,7 @@ void extent_map_exit(void)
*/ */
void extent_map_tree_init(struct extent_map_tree *tree, gfp_t mask) 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); rwlock_init(&tree->lock);
} }
......
...@@ -870,7 +870,7 @@ __btrfs_return_cluster_to_free_space( ...@@ -870,7 +870,7 @@ __btrfs_return_cluster_to_free_space(
tree_insert_offset(&block_group->free_space_offset, tree_insert_offset(&block_group->free_space_offset,
entry->offset, &entry->offset_index, 0); entry->offset, &entry->offset_index, 0);
} }
cluster->root.rb_node = NULL; cluster->root = RB_ROOT;
out: out:
spin_unlock(&cluster->lock); spin_unlock(&cluster->lock);
...@@ -1355,7 +1355,7 @@ void btrfs_init_free_cluster(struct btrfs_free_cluster *cluster) ...@@ -1355,7 +1355,7 @@ void btrfs_init_free_cluster(struct btrfs_free_cluster *cluster)
{ {
spin_lock_init(&cluster->lock); spin_lock_init(&cluster->lock);
spin_lock_init(&cluster->refill_lock); spin_lock_init(&cluster->refill_lock);
cluster->root.rb_node = NULL; cluster->root = RB_ROOT;
cluster->max_size = 0; cluster->max_size = 0;
cluster->points_to_bitmap = false; cluster->points_to_bitmap = false;
INIT_LIST_HEAD(&cluster->block_group_list); INIT_LIST_HEAD(&cluster->block_group_list);
......
...@@ -129,7 +129,7 @@ static inline void ...@@ -129,7 +129,7 @@ static inline void
btrfs_ordered_inode_tree_init(struct btrfs_ordered_inode_tree *t) btrfs_ordered_inode_tree_init(struct btrfs_ordered_inode_tree *t)
{ {
mutex_init(&t->mutex); mutex_init(&t->mutex);
t->tree.rb_node = NULL; t->tree = RB_ROOT;
t->last = NULL; t->last = NULL;
} }
......
...@@ -52,7 +52,7 @@ static inline size_t btrfs_leaf_ref_size(int nr_extents) ...@@ -52,7 +52,7 @@ static inline size_t btrfs_leaf_ref_size(int nr_extents)
static inline void btrfs_leaf_ref_tree_init(struct btrfs_leaf_ref_tree *tree) 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); INIT_LIST_HEAD(&tree->list);
spin_lock_init(&tree->lock); spin_lock_init(&tree->lock);
} }
......
...@@ -170,14 +170,14 @@ struct async_merge { ...@@ -170,14 +170,14 @@ struct async_merge {
static void mapping_tree_init(struct mapping_tree *tree) 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); spin_lock_init(&tree->lock);
} }
static void backref_cache_init(struct backref_cache *cache) static void backref_cache_init(struct backref_cache *cache)
{ {
int i; int i;
cache->rb_root.rb_node = NULL; cache->rb_root = RB_ROOT;
for (i = 0; i < BTRFS_MAX_LEVEL; i++) for (i = 0; i < BTRFS_MAX_LEVEL; i++)
INIT_LIST_HEAD(&cache->pending[i]); INIT_LIST_HEAD(&cache->pending[i]);
spin_lock_init(&cache->lock); spin_lock_init(&cache->lock);
......
...@@ -128,7 +128,7 @@ int btrfs_parse_options(struct btrfs_root *root, char *options) ...@@ -128,7 +128,7 @@ int btrfs_parse_options(struct btrfs_root *root, char *options)
{ {
struct btrfs_fs_info *info = root->fs_info; struct btrfs_fs_info *info = root->fs_info;
substring_t args[MAX_OPT_ARGS]; substring_t args[MAX_OPT_ARGS];
char *p, *num; char *p, *num, *orig;
int intarg; int intarg;
int ret = 0; int ret = 0;
...@@ -143,6 +143,7 @@ int btrfs_parse_options(struct btrfs_root *root, char *options) ...@@ -143,6 +143,7 @@ int btrfs_parse_options(struct btrfs_root *root, char *options)
if (!options) if (!options)
return -ENOMEM; return -ENOMEM;
orig = options;
while ((p = strsep(&options, ",")) != NULL) { while ((p = strsep(&options, ",")) != NULL) {
int token; int token;
...@@ -280,7 +281,7 @@ int btrfs_parse_options(struct btrfs_root *root, char *options) ...@@ -280,7 +281,7 @@ int btrfs_parse_options(struct btrfs_root *root, char *options)
} }
} }
out: out:
kfree(options); kfree(orig);
return ret; return ret;
} }
......
...@@ -69,7 +69,7 @@ static noinline int join_transaction(struct btrfs_root *root) ...@@ -69,7 +69,7 @@ static noinline int join_transaction(struct btrfs_root *root)
cur_trans->commit_done = 0; cur_trans->commit_done = 0;
cur_trans->start_time = get_seconds(); 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_entries = 0;
cur_trans->delayed_refs.num_heads_ready = 0; cur_trans->delayed_refs.num_heads_ready = 0;
cur_trans->delayed_refs.num_heads = 0; cur_trans->delayed_refs.num_heads = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment