blob: 855de37719b546d4f8006833e5d0ab55b64b6c46 [file] [log] [blame]
David Sterba9888c342018-04-03 19:16:55 +02001/* SPDX-License-Identifier: GPL-2.0 */
Josef Bacikfd708b82017-09-29 15:43:50 -04002/*
3 * Copyright (C) 2014 Facebook. All rights reserved.
Josef Bacikfd708b82017-09-29 15:43:50 -04004 */
David Sterba9888c342018-04-03 19:16:55 +02005
6#ifndef BTRFS_REF_VERIFY_H
7#define BTRFS_REF_VERIFY_H
Josef Bacikfd708b82017-09-29 15:43:50 -04008
9#ifdef CONFIG_BTRFS_FS_REF_VERIFY
10int btrfs_build_ref_tree(struct btrfs_fs_info *fs_info);
11void btrfs_free_ref_cache(struct btrfs_fs_info *fs_info);
Qu Wenruo8a5040f2019-04-04 14:45:33 +080012int btrfs_ref_tree_mod(struct btrfs_fs_info *fs_info,
13 struct btrfs_ref *generic_ref);
Josef Bacikfd708b82017-09-29 15:43:50 -040014void btrfs_free_ref_tree_range(struct btrfs_fs_info *fs_info, u64 start,
15 u64 len);
16
17static 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
23static inline int btrfs_build_ref_tree(struct btrfs_fs_info *fs_info)
24{
25 return 0;
26}
27
28static inline void btrfs_free_ref_cache(struct btrfs_fs_info *fs_info)
29{
30}
31
Qu Wenruo8a5040f2019-04-04 14:45:33 +080032static inline int btrfs_ref_tree_mod(struct btrfs_fs_info *fs_info,
33 struct btrfs_ref *generic_ref)
Josef Bacikfd708b82017-09-29 15:43:50 -040034{
35 return 0;
36}
37
38static inline void btrfs_free_ref_tree_range(struct btrfs_fs_info *fs_info,
39 u64 start, u64 len)
40{
41}
42
43static inline void btrfs_init_ref_verify(struct btrfs_fs_info *fs_info)
44{
45}
46
47#endif /* CONFIG_BTRFS_FS_REF_VERIFY */
David Sterba9888c342018-04-03 19:16:55 +020048
49#endif