Commit 04f4f916 authored by Nikolay Borisov's avatar Nikolay Borisov Committed by David Sterba

btrfs: make btrfs_alloc_data_chunk_ondemand take btrfs_inode

Signed-off-by: default avatarNikolay Borisov <nborisov@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 70ddc553
...@@ -2687,7 +2687,7 @@ enum btrfs_flush_state { ...@@ -2687,7 +2687,7 @@ enum btrfs_flush_state {
}; };
int btrfs_check_data_free_space(struct inode *inode, u64 start, u64 len); int btrfs_check_data_free_space(struct inode *inode, u64 start, u64 len);
int btrfs_alloc_data_chunk_ondemand(struct inode *inode, u64 bytes); int btrfs_alloc_data_chunk_ondemand(struct btrfs_inode *inode, u64 bytes);
void btrfs_free_reserved_data_space(struct inode *inode, u64 start, u64 len); void btrfs_free_reserved_data_space(struct inode *inode, u64 start, u64 len);
void btrfs_free_reserved_data_space_noquota(struct inode *inode, u64 start, void btrfs_free_reserved_data_space_noquota(struct inode *inode, u64 start,
u64 len); u64 len);
......
...@@ -4135,10 +4135,10 @@ static u64 btrfs_space_info_used(struct btrfs_space_info *s_info, ...@@ -4135,10 +4135,10 @@ static u64 btrfs_space_info_used(struct btrfs_space_info *s_info,
(may_use_included ? s_info->bytes_may_use : 0); (may_use_included ? s_info->bytes_may_use : 0);
} }
int btrfs_alloc_data_chunk_ondemand(struct inode *inode, u64 bytes) int btrfs_alloc_data_chunk_ondemand(struct btrfs_inode *inode, u64 bytes)
{ {
struct btrfs_space_info *data_sinfo; struct btrfs_space_info *data_sinfo;
struct btrfs_root *root = BTRFS_I(inode)->root; struct btrfs_root *root = inode->root;
struct btrfs_fs_info *fs_info = root->fs_info; struct btrfs_fs_info *fs_info = root->fs_info;
u64 used; u64 used;
int ret = 0; int ret = 0;
...@@ -4148,7 +4148,7 @@ int btrfs_alloc_data_chunk_ondemand(struct inode *inode, u64 bytes) ...@@ -4148,7 +4148,7 @@ int btrfs_alloc_data_chunk_ondemand(struct inode *inode, u64 bytes)
/* make sure bytes are sectorsize aligned */ /* make sure bytes are sectorsize aligned */
bytes = ALIGN(bytes, fs_info->sectorsize); bytes = ALIGN(bytes, fs_info->sectorsize);
if (btrfs_is_free_space_inode(BTRFS_I(inode))) { if (btrfs_is_free_space_inode(inode)) {
need_commit = 0; need_commit = 0;
ASSERT(current->journal_info); ASSERT(current->journal_info);
} }
...@@ -4281,7 +4281,7 @@ int btrfs_check_data_free_space(struct inode *inode, u64 start, u64 len) ...@@ -4281,7 +4281,7 @@ int btrfs_check_data_free_space(struct inode *inode, u64 start, u64 len)
round_down(start, fs_info->sectorsize); round_down(start, fs_info->sectorsize);
start = round_down(start, fs_info->sectorsize); start = round_down(start, fs_info->sectorsize);
ret = btrfs_alloc_data_chunk_ondemand(inode, len); ret = btrfs_alloc_data_chunk_ondemand(BTRFS_I(inode), len);
if (ret < 0) if (ret < 0)
return ret; return ret;
......
...@@ -2747,7 +2747,8 @@ static long btrfs_fallocate(struct file *file, int mode, ...@@ -2747,7 +2747,8 @@ static long btrfs_fallocate(struct file *file, int mode,
* *
* For qgroup space, it will be checked later. * For qgroup space, it will be checked later.
*/ */
ret = btrfs_alloc_data_chunk_ondemand(inode, alloc_end - alloc_start); ret = btrfs_alloc_data_chunk_ondemand(BTRFS_I(inode),
alloc_end - alloc_start);
if (ret < 0) if (ret < 0)
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment