Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/fs/btrfs/delalloc-space.h
26282 views
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(const 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_inode *inode, u64 len);
22
void btrfs_delalloc_release_metadata(struct btrfs_inode *inode, u64 num_bytes,
23
bool qgroup_free);
24
int btrfs_delalloc_reserve_space(struct btrfs_inode *inode,
25
struct extent_changeset **reserved, u64 start, u64 len);
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);
29
void btrfs_delalloc_shrink_extents(struct btrfs_inode *inode, u64 reserved_len, u64 new_len);
30
31
#endif /* BTRFS_DELALLOC_SPACE_H */
32
33