blob: 0a0c25a2e77c3c7f3cec58f426fa5be23ff17ade [file] [log] [blame]
David Sterba9888c342018-04-03 19:16:55 +02001/* SPDX-License-Identifier: GPL-2.0 */
Qu Wenruo557ea5d2017-10-09 01:51:02 +00002/*
3 * Copyright (C) Qu Wenruo 2017. All rights reserved.
Qu Wenruo557ea5d2017-10-09 01:51:02 +00004 */
5
David Sterba9888c342018-04-03 19:16:55 +02006#ifndef BTRFS_TREE_CHECKER_H
7#define BTRFS_TREE_CHECKER_H
Qu Wenruo557ea5d2017-10-09 01:51:02 +00008
9#include "ctree.h"
10#include "extent_io.h"
11
Qu Wenruo69fc6cb2017-11-08 08:54:24 +080012/*
13 * Comprehensive leaf checker.
14 * Will check not only the item pointers, but also every possible member
15 * in item data.
16 */
David Sterba1c4360e2019-03-20 16:23:29 +010017int btrfs_check_leaf_full(struct extent_buffer *leaf);
Qu Wenruo69fc6cb2017-11-08 08:54:24 +080018
19/*
20 * Less strict leaf checker.
21 * Will only check item pointers, not reading item data.
22 */
Qu Wenruo2f659542018-01-25 14:56:18 +080023int btrfs_check_leaf_relaxed(struct btrfs_fs_info *fs_info,
Qu Wenruo69fc6cb2017-11-08 08:54:24 +080024 struct extent_buffer *leaf);
Qu Wenruo2f659542018-01-25 14:56:18 +080025int btrfs_check_node(struct btrfs_fs_info *fs_info, struct extent_buffer *node);
Qu Wenruo557ea5d2017-10-09 01:51:02 +000026
Qu Wenruo82fc28f2019-03-20 13:16:42 +080027int btrfs_check_chunk_valid(struct btrfs_fs_info *fs_info,
28 struct extent_buffer *leaf,
29 struct btrfs_chunk *chunk, u64 logical);
30
Qu Wenruo557ea5d2017-10-09 01:51:02 +000031#endif