Commit | Line | Data |
---|---|---|
86736342 JB |
1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | ||
3 | #ifndef BTRFS_DELALLOC_SPACE_H | |
4 | #define BTRFS_DELALLOC_SPACE_H | |
5 | ||
22b46bdc DS |
6 | #include <linux/types.h> |
7 | ||
86736342 | 8 | struct extent_changeset; |
22b46bdc DS |
9 | struct btrfs_inode; |
10 | struct btrfs_fs_info; | |
86736342 | 11 | |
2917f741 | 12 | int btrfs_alloc_data_chunk_ondemand(const struct btrfs_inode *inode, u64 bytes); |
36ea6f3e | 13 | int btrfs_check_data_free_space(struct btrfs_inode *inode, |
1daedb1d JB |
14 | struct extent_changeset **reserved, u64 start, u64 len, |
15 | bool noflush); | |
25ce28ca | 16 | void btrfs_free_reserved_data_space(struct btrfs_inode *inode, |
86736342 | 17 | struct extent_changeset *reserved, u64 start, u64 len); |
86d52921 | 18 | void btrfs_delalloc_release_space(struct btrfs_inode *inode, |
86736342 JB |
19 | struct extent_changeset *reserved, |
20 | u64 start, u64 len, bool qgroup_free); | |
1c34e719 | 21 | void btrfs_free_reserved_data_space_noquota(struct btrfs_inode *inode, u64 len); |
86736342 JB |
22 | void btrfs_delalloc_release_metadata(struct btrfs_inode *inode, u64 num_bytes, |
23 | bool qgroup_free); | |
e5b7231e | 24 | int btrfs_delalloc_reserve_space(struct btrfs_inode *inode, |
86736342 | 25 | struct extent_changeset **reserved, u64 start, u64 len); |
2839c2c1 JB |
26 | int btrfs_delalloc_reserve_metadata(struct btrfs_inode *inode, u64 num_bytes, |
27 | u64 disk_num_bytes, bool noflush); | |
28 | void btrfs_delalloc_release_extents(struct btrfs_inode *inode, u64 num_bytes); | |
581bb9e7 | 29 | void btrfs_delalloc_shrink_extents(struct btrfs_inode *inode, u64 reserved_len, u64 new_len); |
86736342 JB |
30 | |
31 | #endif /* BTRFS_DELALLOC_SPACE_H */ |