brintos

brintos / linux-shallow public Read only

0
0
Text · 1.4 KiB · de291e3 Raw
47 lines · c
1// SPDX-License-Identifier: GPL-2.0-or-later2/*3 * Copyright (C) 2017-2023 Oracle.  All Rights Reserved.4 * Author: Darrick J. Wong <djwong@kernel.org>5 */6#ifndef __XFS_SCRUB_DABTREE_H__7#define __XFS_SCRUB_DABTREE_H__8 9/* dir/attr btree */10 11struct xchk_da_btree {12	struct xfs_da_args	dargs;13	xfs_dahash_t		hashes[XFS_DA_NODE_MAXDEPTH];14	int			maxrecs[XFS_DA_NODE_MAXDEPTH];15	struct xfs_da_state	*state;16	struct xfs_scrub	*sc;17	void			*private;18 19	/*20	 * Lowest and highest directory block address in which we expect21	 * to find dir/attr btree node blocks.  For a directory this22	 * (presumably) means between LEAF_OFFSET and FREE_OFFSET; for23	 * attributes there is no limit.24	 */25	xfs_dablk_t		lowest;26	xfs_dablk_t		highest;27 28	int			tree_level;29};30 31typedef int (*xchk_da_btree_rec_fn)(struct xchk_da_btree *ds, int level);32 33/* Check for da btree operation errors. */34bool xchk_da_process_error(struct xchk_da_btree *ds, int level, int *error);35 36/* Check for da btree corruption. */37void xchk_da_set_corrupt(struct xchk_da_btree *ds, int level);38void xchk_da_set_preen(struct xchk_da_btree *ds, int level);39 40void xchk_da_set_preen(struct xchk_da_btree *ds, int level);41 42int xchk_da_btree_hash(struct xchk_da_btree *ds, int level, __be32 *hashp);43int xchk_da_btree(struct xfs_scrub *sc, int whichfork,44		xchk_da_btree_rec_fn scrub_fn, void *private);45 46#endif /* __XFS_SCRUB_DABTREE_H__ */47