xref: /linux/fs/xfs/scrub/readdir.h (revision c771600c6af14749609b49565ffb4cac2959710d)
14c233b5cSDarrick J. Wong /* SPDX-License-Identifier: GPL-2.0-or-later */
24c233b5cSDarrick J. Wong /*
34c233b5cSDarrick J. Wong  * Copyright (C) 2022-2023 Oracle.  All Rights Reserved.
44c233b5cSDarrick J. Wong  * Author: Darrick J. Wong <djwong@kernel.org>
54c233b5cSDarrick J. Wong  */
64c233b5cSDarrick J. Wong #ifndef __XFS_SCRUB_READDIR_H__
74c233b5cSDarrick J. Wong #define __XFS_SCRUB_READDIR_H__
84c233b5cSDarrick J. Wong 
94c233b5cSDarrick J. Wong typedef int (*xchk_dirent_fn)(struct xfs_scrub *sc, struct xfs_inode *dp,
104c233b5cSDarrick J. Wong 		xfs_dir2_dataptr_t dapos, const struct xfs_name *name,
114c233b5cSDarrick J. Wong 		xfs_ino_t ino, void *priv);
124c233b5cSDarrick J. Wong 
134c233b5cSDarrick J. Wong int xchk_dir_walk(struct xfs_scrub *sc, struct xfs_inode *dp,
144c233b5cSDarrick J. Wong 		xchk_dirent_fn dirent_fn, void *priv);
154c233b5cSDarrick J. Wong 
164c233b5cSDarrick J. Wong int xchk_dir_lookup(struct xfs_scrub *sc, struct xfs_inode *dp,
174c233b5cSDarrick J. Wong 		const struct xfs_name *name, xfs_ino_t *ino);
184c233b5cSDarrick J. Wong 
19*b961c8bfSDarrick J. Wong int xchk_dir_trylock_for_pptrs(struct xfs_scrub *sc, struct xfs_inode *ip,
20*b961c8bfSDarrick J. Wong 		unsigned int *lockmode);
21*b961c8bfSDarrick J. Wong 
224c233b5cSDarrick J. Wong #endif /* __XFS_SCRUB_READDIR_H__ */
23