diff options
author | Darrick J. Wong <djwong@kernel.org> | 2023-04-12 05:00:17 +0300 |
---|---|---|
committer | Darrick J. Wong <djwong@kernel.org> | 2023-04-12 05:00:17 +0300 |
commit | 4c233b5c4f29dff11eeb64b2b1cc0831b9904a4f (patch) | |
tree | 4e2dd6ce8ae2f1d2894f1b3ac9cd92ac6b09a897 /fs/xfs/Makefile | |
parent | 9dceccc5822f2ecea12a89f24d7cad1f3e5eab7c (diff) | |
download | linux-4c233b5c4f29dff11eeb64b2b1cc0831b9904a4f.tar.xz |
xfs: streamline the directory iteration code for scrub
Currently, online scrub reuses the xfs_readdir code to walk every entry
in a directory. This isn't awesome for performance, since we end up
cycling the directory ILOCK needlessly and coding around the particular
quirks of the VFS dir_context interface.
Create a streamlined version of readdir that keeps the ILOCK (since the
walk function isn't going to copy stuff to userspace), skips a whole lot
of directory walk cursor checks (since we start at 0 and walk to the
end) and has a sane way to return error codes.
Note: Porting the dotdot checking code is left for a subsequent patch.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Diffstat (limited to 'fs/xfs/Makefile')
-rw-r--r-- | fs/xfs/Makefile | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/xfs/Makefile b/fs/xfs/Makefile index 3bdbc838c4d1..ac9d03cd2623 100644 --- a/fs/xfs/Makefile +++ b/fs/xfs/Makefile @@ -158,6 +158,7 @@ xfs-y += $(addprefix scrub/, \ ialloc.o \ inode.o \ parent.o \ + readdir.o \ refcount.o \ rmap.o \ scrub.o \ |