linux/fs/btrfs/ref-verify.h
<<
>>
Prefs
   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
  10int btrfs_build_ref_tree(struct btrfs_fs_info *fs_info);
  11void btrfs_free_ref_cache(struct btrfs_fs_info *fs_info);
  12int 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);
  15void btrfs_free_ref_tree_range(struct btrfs_fs_info *fs_info, u64 start,
  16                               u64 len);
  17
  18static 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
  24static inline int btrfs_build_ref_tree(struct btrfs_fs_info *fs_info)
  25{
  26        return 0;
  27}
  28
  29static inline void btrfs_free_ref_cache(struct btrfs_fs_info *fs_info)
  30{
  31}
  32
  33static 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
  40static inline void btrfs_free_ref_tree_range(struct btrfs_fs_info *fs_info,
  41                                             u64 start, u64 len)
  42{
  43}
  44
  45static 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