mirror of https://gitee.com/openkylin/linux.git
Btrfs: Fix typo and memory leak in extent-tree.c
This patch fixes a typo in update_block_group and memory leak in btrfs_free_block_groups. Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
parent
179e29e488
commit
b97f9203b4
|
@ -588,16 +588,15 @@ static int update_block_group(struct btrfs_trans_handle *trans,
|
||||||
old_val < (cache->key.offset >> 1)) {
|
old_val < (cache->key.offset >> 1)) {
|
||||||
int bit_to_clear;
|
int bit_to_clear;
|
||||||
int bit_to_set;
|
int bit_to_set;
|
||||||
|
|
||||||
cache->data = data;
|
cache->data = data;
|
||||||
if (data) {
|
if (data) {
|
||||||
bit_to_clear = BLOCK_GROUP_DATA;
|
bit_to_clear = BLOCK_GROUP_METADATA;
|
||||||
bit_to_set = BLOCK_GROUP_METADATA;
|
bit_to_set = BLOCK_GROUP_DATA;
|
||||||
cache->item.flags |=
|
cache->item.flags |=
|
||||||
BTRFS_BLOCK_GROUP_DATA;
|
BTRFS_BLOCK_GROUP_DATA;
|
||||||
} else {
|
} else {
|
||||||
bit_to_clear = BLOCK_GROUP_METADATA;
|
bit_to_clear = BLOCK_GROUP_DATA;
|
||||||
bit_to_set = BLOCK_GROUP_DATA;
|
bit_to_set = BLOCK_GROUP_METADATA;
|
||||||
cache->item.flags &=
|
cache->item.flags &=
|
||||||
~BTRFS_BLOCK_GROUP_DATA;
|
~BTRFS_BLOCK_GROUP_DATA;
|
||||||
}
|
}
|
||||||
|
@ -1459,13 +1458,16 @@ int btrfs_free_block_groups(struct btrfs_fs_info *info)
|
||||||
{
|
{
|
||||||
u64 start;
|
u64 start;
|
||||||
u64 end;
|
u64 end;
|
||||||
|
u64 ptr;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
while(1) {
|
while(1) {
|
||||||
ret = find_first_extent_bit(&info->block_group_cache, 0,
|
ret = find_first_extent_bit(&info->block_group_cache, 0,
|
||||||
&start, &end, (unsigned int)-1);
|
&start, &end, (unsigned int)-1);
|
||||||
if (ret)
|
if (ret)
|
||||||
break;
|
break;
|
||||||
|
ret = get_state_private(&info->block_group_cache, start, &ptr);
|
||||||
|
if (!ret)
|
||||||
|
kfree((void *)(unsigned long)ptr);
|
||||||
clear_extent_bits(&info->block_group_cache, start,
|
clear_extent_bits(&info->block_group_cache, start,
|
||||||
end, (unsigned int)-1, GFP_NOFS);
|
end, (unsigned int)-1, GFP_NOFS);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue