btrfs: move btrfs_check_trunc_cache_free_space into block-rsv.c
This is completely related to block rsv's, move it out of the free space cache code and into block-rsv.c. Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Signed-off-by: Josef Bacik <josef@toxicpanda.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
94ead93e63
commit
54d687c13a
@ -541,3 +541,22 @@ try_reserve:
|
|||||||
|
|
||||||
return ERR_PTR(ret);
|
return ERR_PTR(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int btrfs_check_trunc_cache_free_space(struct btrfs_fs_info *fs_info,
|
||||||
|
struct btrfs_block_rsv *rsv)
|
||||||
|
{
|
||||||
|
u64 needed_bytes;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
/* 1 for slack space, 1 for updating the inode */
|
||||||
|
needed_bytes = btrfs_calc_insert_metadata_size(fs_info, 1) +
|
||||||
|
btrfs_calc_metadata_size(fs_info, 1);
|
||||||
|
|
||||||
|
spin_lock(&rsv->lock);
|
||||||
|
if (rsv->reserved < needed_bytes)
|
||||||
|
ret = -ENOSPC;
|
||||||
|
else
|
||||||
|
ret = 0;
|
||||||
|
spin_unlock(&rsv->lock);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
@ -82,6 +82,8 @@ void btrfs_release_global_block_rsv(struct btrfs_fs_info *fs_info);
|
|||||||
struct btrfs_block_rsv *btrfs_use_block_rsv(struct btrfs_trans_handle *trans,
|
struct btrfs_block_rsv *btrfs_use_block_rsv(struct btrfs_trans_handle *trans,
|
||||||
struct btrfs_root *root,
|
struct btrfs_root *root,
|
||||||
u32 blocksize);
|
u32 blocksize);
|
||||||
|
int btrfs_check_trunc_cache_free_space(struct btrfs_fs_info *fs_info,
|
||||||
|
struct btrfs_block_rsv *rsv);
|
||||||
static inline void btrfs_unuse_block_rsv(struct btrfs_fs_info *fs_info,
|
static inline void btrfs_unuse_block_rsv(struct btrfs_fs_info *fs_info,
|
||||||
struct btrfs_block_rsv *block_rsv,
|
struct btrfs_block_rsv *block_rsv,
|
||||||
u32 blocksize)
|
u32 blocksize)
|
||||||
|
@ -292,25 +292,6 @@ out:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int btrfs_check_trunc_cache_free_space(struct btrfs_fs_info *fs_info,
|
|
||||||
struct btrfs_block_rsv *rsv)
|
|
||||||
{
|
|
||||||
u64 needed_bytes;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
/* 1 for slack space, 1 for updating the inode */
|
|
||||||
needed_bytes = btrfs_calc_insert_metadata_size(fs_info, 1) +
|
|
||||||
btrfs_calc_metadata_size(fs_info, 1);
|
|
||||||
|
|
||||||
spin_lock(&rsv->lock);
|
|
||||||
if (rsv->reserved < needed_bytes)
|
|
||||||
ret = -ENOSPC;
|
|
||||||
else
|
|
||||||
ret = 0;
|
|
||||||
spin_unlock(&rsv->lock);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
int btrfs_truncate_free_space_cache(struct btrfs_trans_handle *trans,
|
int btrfs_truncate_free_space_cache(struct btrfs_trans_handle *trans,
|
||||||
struct btrfs_block_group *block_group,
|
struct btrfs_block_group *block_group,
|
||||||
struct inode *vfs_inode)
|
struct inode *vfs_inode)
|
||||||
|
@ -101,8 +101,6 @@ int btrfs_remove_free_space_inode(struct btrfs_trans_handle *trans,
|
|||||||
struct inode *inode,
|
struct inode *inode,
|
||||||
struct btrfs_block_group *block_group);
|
struct btrfs_block_group *block_group);
|
||||||
|
|
||||||
int btrfs_check_trunc_cache_free_space(struct btrfs_fs_info *fs_info,
|
|
||||||
struct btrfs_block_rsv *rsv);
|
|
||||||
int btrfs_truncate_free_space_cache(struct btrfs_trans_handle *trans,
|
int btrfs_truncate_free_space_cache(struct btrfs_trans_handle *trans,
|
||||||
struct btrfs_block_group *block_group,
|
struct btrfs_block_group *block_group,
|
||||||
struct inode *inode);
|
struct inode *inode);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user