xref: /linux/fs/btrfs/ref-verify.h (revision d2912cb15bdda8ba4a5dd73396ad62641af2f520)
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_fs_info *fs_info,
13 		       struct btrfs_ref *generic_ref);
14 void btrfs_free_ref_tree_range(struct btrfs_fs_info *fs_info, u64 start,
15 			       u64 len);
16 
17 static inline void btrfs_init_ref_verify(struct btrfs_fs_info *fs_info)
18 {
19 	spin_lock_init(&fs_info->ref_verify_lock);
20 	fs_info->block_tree = RB_ROOT;
21 }
22 #else
23 static inline int btrfs_build_ref_tree(struct btrfs_fs_info *fs_info)
24 {
25 	return 0;
26 }
27 
28 static inline void btrfs_free_ref_cache(struct btrfs_fs_info *fs_info)
29 {
30 }
31 
32 static inline int btrfs_ref_tree_mod(struct btrfs_fs_info *fs_info,
33 		       struct btrfs_ref *generic_ref)
34 {
35 	return 0;
36 }
37 
38 static inline void btrfs_free_ref_tree_range(struct btrfs_fs_info *fs_info,
39 					     u64 start, u64 len)
40 {
41 }
42 
43 static inline void btrfs_init_ref_verify(struct btrfs_fs_info *fs_info)
44 {
45 }
46 
47 #endif /* CONFIG_BTRFS_FS_REF_VERIFY */
48 
49 #endif
50