1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | |
3 | #ifndef BTRFS_DELALLOC_SPACE_H |
4 | #define BTRFS_DELALLOC_SPACE_H |
5 | |
6 | #include <linux/types.h> |
7 | |
8 | struct extent_changeset; |
9 | struct btrfs_inode; |
10 | struct btrfs_fs_info; |
11 | |
12 | int btrfs_alloc_data_chunk_ondemand(struct btrfs_inode *inode, u64 bytes); |
13 | int btrfs_check_data_free_space(struct btrfs_inode *inode, |
14 | struct extent_changeset **reserved, u64 start, u64 len, |
15 | bool noflush); |
16 | void btrfs_free_reserved_data_space(struct btrfs_inode *inode, |
17 | struct extent_changeset *reserved, u64 start, u64 len); |
18 | void btrfs_delalloc_release_space(struct btrfs_inode *inode, |
19 | struct extent_changeset *reserved, |
20 | u64 start, u64 len, bool qgroup_free); |
21 | void btrfs_free_reserved_data_space_noquota(struct btrfs_fs_info *fs_info, |
22 | u64 len); |
23 | void btrfs_delalloc_release_metadata(struct btrfs_inode *inode, u64 num_bytes, |
24 | bool qgroup_free); |
25 | int btrfs_delalloc_reserve_space(struct btrfs_inode *inode, |
26 | struct extent_changeset **reserved, u64 start, u64 len); |
27 | int btrfs_delalloc_reserve_metadata(struct btrfs_inode *inode, u64 num_bytes, |
28 | u64 disk_num_bytes, bool noflush); |
29 | void btrfs_delalloc_release_extents(struct btrfs_inode *inode, u64 num_bytes); |
30 | |
31 | #endif /* BTRFS_DELALLOC_SPACE_H */ |
32 | |