• Darrick J. Wong's avatar
    xfs: streamline the directory iteration code for scrub · 4c233b5c
    Darrick J. Wong authored
    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: default avatarDarrick J. Wong <djwong@kernel.org>
    Reviewed-by: default avatarDave Chinner <dchinner@redhat.com>
    4c233b5c
readdir.c 8.73 KB