btrfs: make btrfs_qgroup_free_data take btrfs_inode
It passes btrfs_inode to its callee so change the interface. Signed-off-by: Nikolay Borisov <nborisov@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
Родитель
8769af96cf
Коммит
8b8a979f1f
|
@ -301,7 +301,7 @@ void btrfs_free_reserved_data_space(struct inode *inode,
|
||||||
start = round_down(start, root->fs_info->sectorsize);
|
start = round_down(start, root->fs_info->sectorsize);
|
||||||
|
|
||||||
btrfs_free_reserved_data_space_noquota(inode, len);
|
btrfs_free_reserved_data_space_noquota(inode, len);
|
||||||
btrfs_qgroup_free_data(inode, reserved, start, len);
|
btrfs_qgroup_free_data(BTRFS_I(inode), reserved, start, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -354,7 +354,7 @@ out:
|
||||||
* And at reserve time, it's always aligned to page size, so
|
* And at reserve time, it's always aligned to page size, so
|
||||||
* just free one page here.
|
* just free one page here.
|
||||||
*/
|
*/
|
||||||
btrfs_qgroup_free_data(inode, NULL, 0, PAGE_SIZE);
|
btrfs_qgroup_free_data(BTRFS_I(inode), NULL, 0, PAGE_SIZE);
|
||||||
btrfs_free_path(path);
|
btrfs_free_path(path);
|
||||||
btrfs_end_transaction(trans);
|
btrfs_end_transaction(trans);
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -4994,7 +4994,8 @@ static void evict_inode_truncate_pages(struct inode *inode)
|
||||||
* Note, end is the bytenr of last byte, so we need + 1 here.
|
* Note, end is the bytenr of last byte, so we need + 1 here.
|
||||||
*/
|
*/
|
||||||
if (state_flags & EXTENT_DELALLOC)
|
if (state_flags & EXTENT_DELALLOC)
|
||||||
btrfs_qgroup_free_data(inode, NULL, start, end - start + 1);
|
btrfs_qgroup_free_data(BTRFS_I(inode), NULL, start,
|
||||||
|
end - start + 1);
|
||||||
|
|
||||||
clear_extent_bit(io_tree, start, end,
|
clear_extent_bit(io_tree, start, end,
|
||||||
EXTENT_LOCKED | EXTENT_DELALLOC |
|
EXTENT_LOCKED | EXTENT_DELALLOC |
|
||||||
|
@ -8178,7 +8179,7 @@ again:
|
||||||
* bit of its io_tree, and free the qgroup reserved data space.
|
* bit of its io_tree, and free the qgroup reserved data space.
|
||||||
* Since the IO will never happen for this page.
|
* Since the IO will never happen for this page.
|
||||||
*/
|
*/
|
||||||
btrfs_qgroup_free_data(inode, NULL, page_start, PAGE_SIZE);
|
btrfs_qgroup_free_data(BTRFS_I(inode), NULL, page_start, PAGE_SIZE);
|
||||||
if (!inode_evicting) {
|
if (!inode_evicting) {
|
||||||
clear_extent_bit(tree, page_start, page_end, EXTENT_LOCKED |
|
clear_extent_bit(tree, page_start, page_end, EXTENT_LOCKED |
|
||||||
EXTENT_DELALLOC | EXTENT_DELALLOC_NEW |
|
EXTENT_DELALLOC | EXTENT_DELALLOC_NEW |
|
||||||
|
|
|
@ -173,8 +173,7 @@ static int __btrfs_add_ordered_extent(struct btrfs_inode *inode, u64 file_offset
|
||||||
|
|
||||||
if (type == BTRFS_ORDERED_NOCOW || type == BTRFS_ORDERED_PREALLOC) {
|
if (type == BTRFS_ORDERED_NOCOW || type == BTRFS_ORDERED_PREALLOC) {
|
||||||
/* For nocow write, we can release the qgroup rsv right now */
|
/* For nocow write, we can release the qgroup rsv right now */
|
||||||
ret = btrfs_qgroup_free_data(&inode->vfs_inode, NULL, file_offset,
|
ret = btrfs_qgroup_free_data(inode, NULL, file_offset, num_bytes);
|
||||||
num_bytes);
|
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
|
@ -3592,10 +3592,10 @@ out:
|
||||||
*
|
*
|
||||||
* NOTE: This function may sleep for memory allocation.
|
* NOTE: This function may sleep for memory allocation.
|
||||||
*/
|
*/
|
||||||
int btrfs_qgroup_free_data(struct inode *inode,
|
int btrfs_qgroup_free_data(struct btrfs_inode *inode,
|
||||||
struct extent_changeset *reserved, u64 start, u64 len)
|
struct extent_changeset *reserved, u64 start, u64 len)
|
||||||
{
|
{
|
||||||
return __btrfs_qgroup_release_data(BTRFS_I(inode), reserved, start, len, 1);
|
return __btrfs_qgroup_release_data(inode, reserved, start, len, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -347,9 +347,9 @@ int btrfs_verify_qgroup_counts(struct btrfs_fs_info *fs_info, u64 qgroupid,
|
||||||
int btrfs_qgroup_reserve_data(struct inode *inode,
|
int btrfs_qgroup_reserve_data(struct inode *inode,
|
||||||
struct extent_changeset **reserved, u64 start, u64 len);
|
struct extent_changeset **reserved, u64 start, u64 len);
|
||||||
int btrfs_qgroup_release_data(struct inode *inode, u64 start, u64 len);
|
int btrfs_qgroup_release_data(struct inode *inode, u64 start, u64 len);
|
||||||
int btrfs_qgroup_free_data(struct inode *inode,
|
int btrfs_qgroup_free_data(struct btrfs_inode *inode,
|
||||||
struct extent_changeset *reserved, u64 start, u64 len);
|
struct extent_changeset *reserved, u64 start,
|
||||||
|
u64 len);
|
||||||
int __btrfs_qgroup_reserve_meta(struct btrfs_root *root, int num_bytes,
|
int __btrfs_qgroup_reserve_meta(struct btrfs_root *root, int num_bytes,
|
||||||
enum btrfs_qgroup_rsv_type type, bool enforce);
|
enum btrfs_qgroup_rsv_type type, bool enforce);
|
||||||
/* Reserve metadata space for pertrans and prealloc type */
|
/* Reserve metadata space for pertrans and prealloc type */
|
||||||
|
|
Загрузка…
Ссылка в новой задаче