1 | /* SPDX-License-Identifier: GPL-2.0 */ |
---|---|
2 | |
3 | #ifndef BTRFS_RELOCATION_H |
4 | #define BTRFS_RELOCATION_H |
5 | |
6 | #include <linux/types.h> |
7 | |
8 | struct extent_buffer; |
9 | struct btrfs_fs_info; |
10 | struct btrfs_root; |
11 | struct btrfs_trans_handle; |
12 | struct btrfs_ordered_extent; |
13 | struct btrfs_pending_snapshot; |
14 | |
15 | int btrfs_relocate_block_group(struct btrfs_fs_info *fs_info, u64 group_start); |
16 | int btrfs_init_reloc_root(struct btrfs_trans_handle *trans, struct btrfs_root *root); |
17 | int btrfs_update_reloc_root(struct btrfs_trans_handle *trans, |
18 | struct btrfs_root *root); |
19 | int btrfs_recover_relocation(struct btrfs_fs_info *fs_info); |
20 | int btrfs_reloc_clone_csums(struct btrfs_ordered_extent *ordered); |
21 | int btrfs_reloc_cow_block(struct btrfs_trans_handle *trans, |
22 | struct btrfs_root *root, |
23 | const struct extent_buffer *buf, |
24 | struct extent_buffer *cow); |
25 | void btrfs_reloc_pre_snapshot(struct btrfs_pending_snapshot *pending, |
26 | u64 *bytes_to_reserve); |
27 | int btrfs_reloc_post_snapshot(struct btrfs_trans_handle *trans, |
28 | struct btrfs_pending_snapshot *pending); |
29 | int btrfs_should_cancel_balance(const struct btrfs_fs_info *fs_info); |
30 | struct btrfs_root *find_reloc_root(struct btrfs_fs_info *fs_info, u64 bytenr); |
31 | bool btrfs_should_ignore_reloc_root(const struct btrfs_root *root); |
32 | u64 btrfs_get_reloc_bg_bytenr(const struct btrfs_fs_info *fs_info); |
33 | |
34 | #endif |
35 |