mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-04-24 14:07:52 -04:00
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
This commit is contained in:
commit
51d0f6d1f5
9 changed files with 15 additions and 14 deletions
|
@ -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,
|
||||||
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)
|
||||||
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)
|
||||||
*/
|
*/
|
||||||
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(
|
||||||
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)
|
||||||
{
|
{
|
||||||
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
|
||||||
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)
|
||||||
|
|
||||||
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 {
|
||||||
|
|
||||||
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)
|
||||||
{
|
{
|
||||||
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)
|
||||||
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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
out:
|
out:
|
||||||
kfree(options);
|
kfree(orig);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue