summaryrefslogtreecommitdiffstats
path: root/fs/xfs/scrub/readdir.h
diff options
context:
space:
mode:
authorDarrick J. Wong <djwong@kernel.org>2024-04-22 09:48:02 -0700
committerDarrick J. Wong <djwong@kernel.org>2024-04-23 07:47:02 -0700
commitb961c8bf1fc3d0232209a49f47d1cd7a55b7a861 (patch)
treeee1c8237339bb6fe801d8126f47986de9e7d04b7 /fs/xfs/scrub/readdir.h
parent61b3f0df5c235806d372aaf696ce9aee7746d18f (diff)
downloadlinux-stable-b961c8bf1fc3d0232209a49f47d1cd7a55b7a861.tar.gz
linux-stable-b961c8bf1fc3d0232209a49f47d1cd7a55b7a861.tar.bz2
linux-stable-b961c8bf1fc3d0232209a49f47d1cd7a55b7a861.zip
xfs: deferred scrub of dirents
If the trylock-based parent pointer check fails, retain those dirents and check them at the end. This may involve dropping the locks on the file being scanned, so yay. Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs/xfs/scrub/readdir.h')
-rw-r--r--fs/xfs/scrub/readdir.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/xfs/scrub/readdir.h b/fs/xfs/scrub/readdir.h
index 55787f4df123..da501877a64d 100644
--- a/fs/xfs/scrub/readdir.h
+++ b/fs/xfs/scrub/readdir.h
@@ -16,4 +16,7 @@ int xchk_dir_walk(struct xfs_scrub *sc, struct xfs_inode *dp,
int xchk_dir_lookup(struct xfs_scrub *sc, struct xfs_inode *dp,
const struct xfs_name *name, xfs_ino_t *ino);
+int xchk_dir_trylock_for_pptrs(struct xfs_scrub *sc, struct xfs_inode *ip,
+ unsigned int *lockmode);
+
#endif /* __XFS_SCRUB_READDIR_H__ */