^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #ifndef BTRFS_DELALLOC_SPACE_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) #define BTRFS_DELALLOC_SPACE_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) struct extent_changeset;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) int btrfs_alloc_data_chunk_ondemand(struct btrfs_inode *inode, u64 bytes);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) int btrfs_check_data_free_space(struct btrfs_inode *inode,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) struct extent_changeset **reserved, u64 start, u64 len);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) void btrfs_free_reserved_data_space(struct btrfs_inode *inode,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) struct extent_changeset *reserved, u64 start, u64 len);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) void btrfs_delalloc_release_space(struct btrfs_inode *inode,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) struct extent_changeset *reserved,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) u64 start, u64 len, bool qgroup_free);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) void btrfs_free_reserved_data_space_noquota(struct btrfs_fs_info *fs_info,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) u64 len);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) void btrfs_delalloc_release_metadata(struct btrfs_inode *inode, u64 num_bytes,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) bool qgroup_free);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) int btrfs_delalloc_reserve_space(struct btrfs_inode *inode,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) struct extent_changeset **reserved, u64 start, u64 len);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #endif /* BTRFS_DELALLOC_SPACE_H */