diff options
author | Filipe Manana <fdmanana@suse.com> | 2020-05-08 11:01:59 +0100 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2020-05-25 11:25:30 +0200 |
commit | 684b752b0933ac287fdd1f4cdc53c4a937e90e46 (patch) | |
tree | 063a71c38092423ac6a68aa2d5dfc221d2c0557c /fs/btrfs/free-space-cache.c | |
parent | 6b7304af62d02d77d740defd4cfddf2ef3188067 (diff) | |
download | linux-684b752b0933ac287fdd1f4cdc53c4a937e90e46.tar.gz linux-684b752b0933ac287fdd1f4cdc53c4a937e90e46.tar.bz2 linux-684b752b0933ac287fdd1f4cdc53c4a937e90e46.zip |
btrfs: move the block group freeze/unfreeze helpers into block-group.c
The helpers btrfs_freeze_block_group() and btrfs_unfreeze_block_group()
used to be named btrfs_get_block_group_trimming() and
btrfs_put_block_group_trimming() respectively.
At the time they were added to free-space-cache.c, by commit e33e17ee1098
("btrfs: add missing discards when unpinning extents with -o discard")
because all the trimming related functions were in free-space-cache.c.
Now that the helpers were renamed and are used in scrub context as well,
move them to block-group.c, a much more logical location for them.
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/free-space-cache.c')
-rw-r--r-- | fs/btrfs/free-space-cache.c | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c index e9cfe9da6bbe..3c353a337b91 100644 --- a/fs/btrfs/free-space-cache.c +++ b/fs/btrfs/free-space-cache.c @@ -3762,47 +3762,6 @@ out: return ret; } -void btrfs_freeze_block_group(struct btrfs_block_group *cache) -{ - atomic_inc(&cache->frozen); -} - -void btrfs_unfreeze_block_group(struct btrfs_block_group *block_group) -{ - struct btrfs_fs_info *fs_info = block_group->fs_info; - struct extent_map_tree *em_tree; - struct extent_map *em; - bool cleanup; - - spin_lock(&block_group->lock); - cleanup = (atomic_dec_and_test(&block_group->frozen) && - block_group->removed); - spin_unlock(&block_group->lock); - - if (cleanup) { - mutex_lock(&fs_info->chunk_mutex); - em_tree = &fs_info->mapping_tree; - write_lock(&em_tree->lock); - em = lookup_extent_mapping(em_tree, block_group->start, - 1); - BUG_ON(!em); /* logic error, can't happen */ - remove_extent_mapping(em_tree, em); - write_unlock(&em_tree->lock); - mutex_unlock(&fs_info->chunk_mutex); - - /* once for us and once for the tree */ - free_extent_map(em); - free_extent_map(em); - - /* - * We may have left one free space entry and other possible - * tasks trimming this block group have left 1 entry each one. - * Free them if any. - */ - __btrfs_remove_free_space_cache(block_group->free_space_ctl); - } -} - int btrfs_trim_block_group(struct btrfs_block_group *block_group, u64 *trimmed, u64 start, u64 end, u64 minlen) { |