[GIT PULL 13/22] xfs: fix iget usage in directory scrub

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Dave,

Please pull this branch with changes for xfs.  My topic branch
management scripts neglected to ensure that the pull requests were
sorted in patch order, hence the order is wrong and the pull requests
are empty because I must have reshuffled the stgit patches and forgot to
update the topic guide file.  Sigh.  I hate how maintainers have to
build basic patch management and CI s*****themselves**.

As usual, I did a test-merge with the main upstream branch as of a few
minutes ago, and didn't see any conflicts.  Please let me know if you
encounter any problems.

--D

The following changes since commit 30f8ee5e7e0ccce396dff209c6cbce49d0d7e167:

xfs: ensure that single-owner file blocks are not owned by others (2023-04-11 19:00:16 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/scrub-dir-iget-fixes-6.4_2023-04-12

for you to fetch changes up to 6bb9209ceebb07fd07cec25af04eed1809c654de:

xfs: always check the existence of a dirent's child inode (2023-04-11 19:00:18 -0700)

----------------------------------------------------------------
xfs: fix iget usage in directory scrub [v24.5]

In this series, we fix some problems with how the directory scrubber
grabs child inodes.  First, we want to reduce EDEADLOCK returns by
replacing fixed-iteration loops with interruptible trylock loops.
Second, we add UNTRUSTED to the child iget call so that we can detect a
dirent that points to an unallocated inode.  Third, we fix a bug where
we weren't checking the inode pointed to by dotdot entries at all.

Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx>

----------------------------------------------------------------
Darrick J. Wong (4):
xfs: use the directory name hash function for dir scrubbing
xfs: streamline the directory iteration code for scrub
xfs: xfs_iget in the directory scrubber needs to use UNTRUSTED
xfs: always check the existence of a dirent's child inode

fs/xfs/Makefile        |   1 +
fs/xfs/scrub/dir.c     | 246 +++++++++++---------------------
fs/xfs/scrub/parent.c  |  73 +++-------
fs/xfs/scrub/readdir.c | 375 +++++++++++++++++++++++++++++++++++++++++++++++++
fs/xfs/scrub/readdir.h |  19 +++
5 files changed, 497 insertions(+), 217 deletions(-)
create mode 100644 fs/xfs/scrub/readdir.c
create mode 100644 fs/xfs/scrub/readdir.h




[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux