| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- /* SPDX-License-Identifier: GPL-2.0 */
- /*
- * Copyright (C) 2014 Facebook. All rights reserved.
- */
- #ifndef BTRFS_REF_VERIFY_H
- #define BTRFS_REF_VERIFY_H
- #include <linux/types.h>
- #include <linux/rbtree_types.h>
- struct btrfs_fs_info;
- struct btrfs_ref;
- #ifdef CONFIG_BTRFS_DEBUG
- #include <linux/spinlock.h>
- int btrfs_build_ref_tree(struct btrfs_fs_info *fs_info);
- void btrfs_free_ref_cache(struct btrfs_fs_info *fs_info);
- int btrfs_ref_tree_mod(struct btrfs_fs_info *fs_info,
- const struct btrfs_ref *generic_ref);
- void btrfs_free_ref_tree_range(struct btrfs_fs_info *fs_info, u64 start,
- u64 len);
- static inline void btrfs_init_ref_verify(struct btrfs_fs_info *fs_info)
- {
- spin_lock_init(&fs_info->ref_verify_lock);
- fs_info->block_tree = RB_ROOT;
- }
- #else
- static inline int btrfs_build_ref_tree(struct btrfs_fs_info *fs_info)
- {
- return 0;
- }
- static inline void btrfs_free_ref_cache(struct btrfs_fs_info *fs_info)
- {
- }
- static inline int btrfs_ref_tree_mod(struct btrfs_fs_info *fs_info,
- const struct btrfs_ref *generic_ref)
- {
- return 0;
- }
- static inline void btrfs_free_ref_tree_range(struct btrfs_fs_info *fs_info,
- u64 start, u64 len)
- {
- }
- static inline void btrfs_init_ref_verify(struct btrfs_fs_info *fs_info)
- {
- }
- #endif /* CONFIG_BTRFS_DEBUG */
- #endif
|