1 /* SPDX-License-Identifier: GPL-2.0 */
3 #ifndef BTRFS_DELALLOC_SPACE_H
4 #define BTRFS_DELALLOC_SPACE_H
6 struct extent_changeset
;
8 int btrfs_alloc_data_chunk_ondemand(struct btrfs_inode
*inode
, u64 bytes
);
9 int btrfs_check_data_free_space(struct btrfs_inode
*inode
,
10 struct extent_changeset
**reserved
, u64 start
, u64 len
);
11 void btrfs_free_reserved_data_space(struct btrfs_inode
*inode
,
12 struct extent_changeset
*reserved
, u64 start
, u64 len
);
13 void btrfs_delalloc_release_space(struct btrfs_inode
*inode
,
14 struct extent_changeset
*reserved
,
15 u64 start
, u64 len
, bool qgroup_free
);
16 void btrfs_free_reserved_data_space_noquota(struct btrfs_fs_info
*fs_info
,
18 void btrfs_delalloc_release_metadata(struct btrfs_inode
*inode
, u64 num_bytes
,
20 int btrfs_delalloc_reserve_space(struct btrfs_inode
*inode
,
21 struct extent_changeset
**reserved
, u64 start
, u64 len
);
23 #endif /* BTRFS_DELALLOC_SPACE_H */