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 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 24 static inline int btrfs_build_ref_tree(struct btrfs_fs_info *fs_info) 25 { 26 return 0; 27 } 28 29 static inline void btrfs_free_ref_cache(struct btrfs_fs_info *fs_info) 30 { 31 } 32 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 40 static inline void btrfs_free_ref_tree_range(struct btrfs_fs_info *fs_info, 41 u64 start, u64 len) 42 { 43 } 44 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