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