aba542755710f6e9a9fc33b4148d19466071cf2a
[sfrench/cifs-2.6.git] / fs / btrfs / tree-checker.h
1 /*
2  * Copyright (C) Qu Wenruo 2017.  All rights reserved.
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public
6  * License v2 as published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11  * General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public
14  * License along with this program.
15  */
16
17 #ifndef __BTRFS_TREE_CHECKER__
18 #define __BTRFS_TREE_CHECKER__
19
20 #include "ctree.h"
21 #include "extent_io.h"
22
23 /*
24  * Comprehensive leaf checker.
25  * Will check not only the item pointers, but also every possible member
26  * in item data.
27  */
28 int btrfs_check_leaf_full(struct btrfs_fs_info *fs_info,
29                           struct extent_buffer *leaf);
30
31 /*
32  * Less strict leaf checker.
33  * Will only check item pointers, not reading item data.
34  */
35 int btrfs_check_leaf_relaxed(struct btrfs_fs_info *fs_info,
36                              struct extent_buffer *leaf);
37 int btrfs_check_node(struct btrfs_fs_info *fs_info, struct extent_buffer *node);
38
39 #endif