free-space-cache.h (cd79909bc7cdd8043a22d699aae1e8435792c824) free-space-cache.h (5297199a8bca12b8b96afcbf2341605efb6005de)
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright (C) 2009 Oracle. All rights reserved.
4 */
5
6#ifndef BTRFS_FREE_SPACE_CACHE_H
7#define BTRFS_FREE_SPACE_CACHE_H
8

--- 83 unchanged lines hidden (view full) ---

92 struct inode *inode);
93int load_free_space_cache(struct btrfs_block_group *block_group);
94int btrfs_wait_cache_io(struct btrfs_trans_handle *trans,
95 struct btrfs_block_group *block_group,
96 struct btrfs_path *path);
97int btrfs_write_out_cache(struct btrfs_trans_handle *trans,
98 struct btrfs_block_group *block_group,
99 struct btrfs_path *path);
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright (C) 2009 Oracle. All rights reserved.
4 */
5
6#ifndef BTRFS_FREE_SPACE_CACHE_H
7#define BTRFS_FREE_SPACE_CACHE_H
8

--- 83 unchanged lines hidden (view full) ---

92 struct inode *inode);
93int load_free_space_cache(struct btrfs_block_group *block_group);
94int btrfs_wait_cache_io(struct btrfs_trans_handle *trans,
95 struct btrfs_block_group *block_group,
96 struct btrfs_path *path);
97int btrfs_write_out_cache(struct btrfs_trans_handle *trans,
98 struct btrfs_block_group *block_group,
99 struct btrfs_path *path);
100struct inode *lookup_free_ino_inode(struct btrfs_root *root,
101 struct btrfs_path *path);
102int create_free_ino_inode(struct btrfs_root *root,
103 struct btrfs_trans_handle *trans,
104 struct btrfs_path *path);
105int load_free_ino_cache(struct btrfs_fs_info *fs_info,
106 struct btrfs_root *root);
107int btrfs_write_out_ino_cache(struct btrfs_root *root,
108 struct btrfs_trans_handle *trans,
109 struct btrfs_path *path,
110 struct inode *inode);
111
112void btrfs_init_free_space_ctl(struct btrfs_block_group *block_group,
113 struct btrfs_free_space_ctl *ctl);
114int __btrfs_add_free_space(struct btrfs_fs_info *fs_info,
115 struct btrfs_free_space_ctl *ctl,
116 u64 bytenr, u64 size,
117 enum btrfs_trim_state trim_state);
118int btrfs_add_free_space(struct btrfs_block_group *block_group,
119 u64 bytenr, u64 size);
120int btrfs_add_free_space_async_trimmed(struct btrfs_block_group *block_group,
121 u64 bytenr, u64 size);
122int btrfs_remove_free_space(struct btrfs_block_group *block_group,
123 u64 bytenr, u64 size);
124void __btrfs_remove_free_space_cache(struct btrfs_free_space_ctl *ctl);
125void btrfs_remove_free_space_cache(struct btrfs_block_group *block_group);
126bool btrfs_is_free_space_trimmed(struct btrfs_block_group *block_group);
127u64 btrfs_find_space_for_alloc(struct btrfs_block_group *block_group,
128 u64 offset, u64 bytes, u64 empty_size,
129 u64 *max_extent_size);
100
101void btrfs_init_free_space_ctl(struct btrfs_block_group *block_group,
102 struct btrfs_free_space_ctl *ctl);
103int __btrfs_add_free_space(struct btrfs_fs_info *fs_info,
104 struct btrfs_free_space_ctl *ctl,
105 u64 bytenr, u64 size,
106 enum btrfs_trim_state trim_state);
107int btrfs_add_free_space(struct btrfs_block_group *block_group,
108 u64 bytenr, u64 size);
109int btrfs_add_free_space_async_trimmed(struct btrfs_block_group *block_group,
110 u64 bytenr, u64 size);
111int btrfs_remove_free_space(struct btrfs_block_group *block_group,
112 u64 bytenr, u64 size);
113void __btrfs_remove_free_space_cache(struct btrfs_free_space_ctl *ctl);
114void btrfs_remove_free_space_cache(struct btrfs_block_group *block_group);
115bool btrfs_is_free_space_trimmed(struct btrfs_block_group *block_group);
116u64 btrfs_find_space_for_alloc(struct btrfs_block_group *block_group,
117 u64 offset, u64 bytes, u64 empty_size,
118 u64 *max_extent_size);
130u64 btrfs_find_ino_for_alloc(struct btrfs_root *fs_root);
131void btrfs_dump_free_space(struct btrfs_block_group *block_group,
132 u64 bytes);
133int btrfs_find_space_cluster(struct btrfs_block_group *block_group,
134 struct btrfs_free_cluster *cluster,
135 u64 offset, u64 bytes, u64 empty_size);
136void btrfs_init_free_cluster(struct btrfs_free_cluster *cluster);
137u64 btrfs_alloc_from_cluster(struct btrfs_block_group *block_group,
138 struct btrfs_free_cluster *cluster, u64 bytes,

--- 21 unchanged lines hidden ---
119void btrfs_dump_free_space(struct btrfs_block_group *block_group,
120 u64 bytes);
121int btrfs_find_space_cluster(struct btrfs_block_group *block_group,
122 struct btrfs_free_cluster *cluster,
123 u64 offset, u64 bytes, u64 empty_size);
124void btrfs_init_free_cluster(struct btrfs_free_cluster *cluster);
125u64 btrfs_alloc_from_cluster(struct btrfs_block_group *block_group,
126 struct btrfs_free_cluster *cluster, u64 bytes,

--- 21 unchanged lines hidden ---