1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3 * Copyright (C) 2014 Facebook. All rights reserved.
4 */
5
6 #ifndef BTRFS_REF_VERIFY_H
7 #define BTRFS_REF_VERIFY_H
8
9 #ifdef CONFIG_BTRFS_FS_REF_VERIFY
10 int btrfs_build_ref_tree(struct btrfs_fs_info *fs_info);
11 void btrfs_free_ref_cache(struct btrfs_fs_info *fs_info);
12 int btrfs_ref_tree_mod(struct btrfs_root *root, u64 bytenr, u64 num_bytes,
13 u64 parent, u64 ref_root, u64 owner, u64 offset,
14 int action);
15 void btrfs_free_ref_tree_range(struct btrfs_fs_info *fs_info, u64 start,
16 u64 len);
17
btrfs_init_ref_verify(struct btrfs_fs_info * fs_info)18 static inline void btrfs_init_ref_verify(struct btrfs_fs_info *fs_info)
19 {
20 spin_lock_init(&fs_info->ref_verify_lock);
21 fs_info->block_tree = RB_ROOT;
22 }
23 #else
btrfs_build_ref_tree(struct btrfs_fs_info * fs_info)24 static inline int btrfs_build_ref_tree(struct btrfs_fs_info *fs_info)
25 {
26 return 0;
27 }
28
btrfs_free_ref_cache(struct btrfs_fs_info * fs_info)29 static inline void btrfs_free_ref_cache(struct btrfs_fs_info *fs_info)
30 {
31 }
32
btrfs_ref_tree_mod(struct btrfs_root * root,u64 bytenr,u64 num_bytes,u64 parent,u64 ref_root,u64 owner,u64 offset,int action)33 static inline int btrfs_ref_tree_mod(struct btrfs_root *root, u64 bytenr,
34 u64 num_bytes, u64 parent, u64 ref_root,
35 u64 owner, u64 offset, int action)
36 {
37 return 0;
38 }
39
btrfs_free_ref_tree_range(struct btrfs_fs_info * fs_info,u64 start,u64 len)40 static inline void btrfs_free_ref_tree_range(struct btrfs_fs_info *fs_info,
41 u64 start, u64 len)
42 {
43 }
44
btrfs_init_ref_verify(struct btrfs_fs_info * fs_info)45 static inline void btrfs_init_ref_verify(struct btrfs_fs_info *fs_info)
46 {
47 }
48
49 #endif /* CONFIG_BTRFS_FS_REF_VERIFY */
50
51 #endif
52