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 */