mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 20:54:10 +08:00
btrfs: get fs_info from block group in btrfs_find_space_cluster
We can read fs_info from the block group cache structure and can drop it from the parameters. Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
6701bdb39c
commit
2ceeae2e4c
@ -7470,7 +7470,6 @@ static int find_free_extent_clustered(struct btrfs_block_group_cache *bg,
|
|||||||
struct find_free_extent_ctl *ffe_ctl,
|
struct find_free_extent_ctl *ffe_ctl,
|
||||||
struct btrfs_block_group_cache **cluster_bg_ret)
|
struct btrfs_block_group_cache **cluster_bg_ret)
|
||||||
{
|
{
|
||||||
struct btrfs_fs_info *fs_info = bg->fs_info;
|
|
||||||
struct btrfs_block_group_cache *cluster_bg;
|
struct btrfs_block_group_cache *cluster_bg;
|
||||||
u64 aligned_cluster;
|
u64 aligned_cluster;
|
||||||
u64 offset;
|
u64 offset;
|
||||||
@ -7530,9 +7529,8 @@ refill_cluster:
|
|||||||
aligned_cluster = max_t(u64,
|
aligned_cluster = max_t(u64,
|
||||||
ffe_ctl->empty_cluster + ffe_ctl->empty_size,
|
ffe_ctl->empty_cluster + ffe_ctl->empty_size,
|
||||||
bg->full_stripe_len);
|
bg->full_stripe_len);
|
||||||
ret = btrfs_find_space_cluster(fs_info, bg, last_ptr,
|
ret = btrfs_find_space_cluster(bg, last_ptr, ffe_ctl->search_start,
|
||||||
ffe_ctl->search_start, ffe_ctl->num_bytes,
|
ffe_ctl->num_bytes, aligned_cluster);
|
||||||
aligned_cluster);
|
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
/* Now pull our allocation out of this cluster */
|
/* Now pull our allocation out of this cluster */
|
||||||
offset = btrfs_alloc_from_cluster(bg, last_ptr,
|
offset = btrfs_alloc_from_cluster(bg, last_ptr,
|
||||||
|
@ -3037,11 +3037,11 @@ setup_cluster_bitmap(struct btrfs_block_group_cache *block_group,
|
|||||||
* returns zero and sets up cluster if things worked out, otherwise
|
* returns zero and sets up cluster if things worked out, otherwise
|
||||||
* it returns -enospc
|
* it returns -enospc
|
||||||
*/
|
*/
|
||||||
int btrfs_find_space_cluster(struct btrfs_fs_info *fs_info,
|
int btrfs_find_space_cluster(struct btrfs_block_group_cache *block_group,
|
||||||
struct btrfs_block_group_cache *block_group,
|
|
||||||
struct btrfs_free_cluster *cluster,
|
struct btrfs_free_cluster *cluster,
|
||||||
u64 offset, u64 bytes, u64 empty_size)
|
u64 offset, u64 bytes, u64 empty_size)
|
||||||
{
|
{
|
||||||
|
struct btrfs_fs_info *fs_info = block_group->fs_info;
|
||||||
struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl;
|
struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl;
|
||||||
struct btrfs_free_space *entry, *tmp;
|
struct btrfs_free_space *entry, *tmp;
|
||||||
LIST_HEAD(bitmaps);
|
LIST_HEAD(bitmaps);
|
||||||
|
@ -92,8 +92,7 @@ u64 btrfs_find_space_for_alloc(struct btrfs_block_group_cache *block_group,
|
|||||||
u64 btrfs_find_ino_for_alloc(struct btrfs_root *fs_root);
|
u64 btrfs_find_ino_for_alloc(struct btrfs_root *fs_root);
|
||||||
void btrfs_dump_free_space(struct btrfs_block_group_cache *block_group,
|
void btrfs_dump_free_space(struct btrfs_block_group_cache *block_group,
|
||||||
u64 bytes);
|
u64 bytes);
|
||||||
int btrfs_find_space_cluster(struct btrfs_fs_info *fs_info,
|
int btrfs_find_space_cluster(struct btrfs_block_group_cache *block_group,
|
||||||
struct btrfs_block_group_cache *block_group,
|
|
||||||
struct btrfs_free_cluster *cluster,
|
struct btrfs_free_cluster *cluster,
|
||||||
u64 offset, u64 bytes, u64 empty_size);
|
u64 offset, u64 bytes, u64 empty_size);
|
||||||
void btrfs_init_free_cluster(struct btrfs_free_cluster *cluster);
|
void btrfs_init_free_cluster(struct btrfs_free_cluster *cluster);
|
||||||
|
Loading…
Reference in New Issue
Block a user