1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright (C) 2014 Facebook. All rights reserved.
6 #ifndef BTRFS_REF_VERIFY_H
7 #define BTRFS_REF_VERIFY_H
9 #include <linux/types.h>
10 #include <linux/rbtree_types.h>
15 #ifdef CONFIG_BTRFS_FS_REF_VERIFY
17 #include <linux/spinlock.h>
19 int btrfs_build_ref_tree(struct btrfs_fs_info *fs_info);
20 void btrfs_free_ref_cache(struct btrfs_fs_info *fs_info);
21 int btrfs_ref_tree_mod(struct btrfs_fs_info *fs_info,
22 struct btrfs_ref *generic_ref);
23 void btrfs_free_ref_tree_range(struct btrfs_fs_info *fs_info, u64 start,
26 static inline void btrfs_init_ref_verify(struct btrfs_fs_info *fs_info)
28 spin_lock_init(&fs_info->ref_verify_lock);
29 fs_info->block_tree = RB_ROOT;
32 static inline int btrfs_build_ref_tree(struct btrfs_fs_info *fs_info)
37 static inline void btrfs_free_ref_cache(struct btrfs_fs_info *fs_info)
41 static inline int btrfs_ref_tree_mod(struct btrfs_fs_info *fs_info,
42 struct btrfs_ref *generic_ref)
47 static inline void btrfs_free_ref_tree_range(struct btrfs_fs_info *fs_info,
52 static inline void btrfs_init_ref_verify(struct btrfs_fs_info *fs_info)
56 #endif /* CONFIG_BTRFS_FS_REF_VERIFY */