Series |
[GIT,PULL,1/22] xfs: design documentation for online fsck
|
expand
-
-
[GIT,PULL,1/22] xfs: design documentation for online fsck
-
[GIT,PULL,2/22] xfs: make intent items take a perag reference
-
[GIT,PULL,3/22] xfs: pass perag references around when possible
-
[GIT,PULL,4/22] xfs_scrub: fix licensing and copyright notices
-
[GIT,PULL,5/22] xfs: drain deferred work items when scrubbing
-
[GIT,PULL,6/22] xfs: standardize btree record checking code
-
[GIT,PULL,7/22] xfs: hoist scrub record checks into libxfs
-
[GIT,PULL,8/22] xfs: fix rmap btree key flag handling
-
[GIT,PULL,9/22] xfs: enhance btree key scrubbing
-
[GIT,PULL,10/22] xfs: detect incorrect gaps in refcount btree
-
[GIT,PULL,11/22] xfs: detect incorrect gaps in inode btree
-
[GIT,PULL,12/22] xfs: detect incorrect gaps in rmap btree
-
[GIT,PULL,13/22] xfs: fix iget/irele usage in online fsck
-
[GIT,PULL,14/22] xfs: fix bugs in parent pointer checking
-
[GIT,PULL,15/22] xfs: fix iget usage in directory scrub
-
[GIT,PULL,16/22] xfs: merge bmap records for faster scrubs
-
[GIT,PULL,17/22] xfs: detect mergeable and overlapping btree records
-
[GIT,PULL,18/22] xfs: clean up memory management in xattr scrub
-
[GIT,PULL,19/22] xfs: rework online fsck incore bitmap
-
[GIT,PULL,20/22] xfs: strengthen rmapbt scrubbing
-
[GIT,PULL,21/22] xfs: fix ascii-ci problems, then kill it
-
[GIT,PULL,22/22] xfs: rollup of various bug fixes
|
Hi Dave, Please pull this branch with changes for xfs. 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-iget-fixes-6.4_2023-04-11 for you to fetch changes up to 1fc7a0597d237c17b6501f8c33b76d3eaaae9079: xfs: don't take the MMAPLOCK when scrubbing file metadata (2023-04-11 19:00:22 -0700) ---------------------------------------------------------------- xfs: fix iget/irele usage in online fsck [v24.5] This patchset fixes a handful of problems relating to how we get and release incore inodes in the online scrub code. The first patch fixes how we handle DONTCACHE -- our reasons for setting (or clearing it) depend entirely on the runtime environment at irele time. Hence we can refactor iget and irele to use our own wrappers that set that context appropriately. The second patch fixes a race between the iget call in the inode core scrubber and other writer threads that are allocating or freeing inodes in the same AG by changing the behavior of xchk_iget (and the inode core scrub setup function) to return either an incore inode or the AGI buffer so that we can be sure that the inode cannot disappear on us. The final patch elides MMAPLOCK from scrub paths when possible. It did not fit anywhere else. Signed-off-by: Darrick J. Wong <djwong@kernel.org> ---------------------------------------------------------------- Darrick J. Wong (12): 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 xfs: remove xchk_parent_count_parent_dentries xfs: simplify xchk_parent_validate xfs: fix parent pointer scrub racing with subdirectory reparenting xfs: manage inode DONTCACHE status at irele time xfs: fix an inode lookup race in xchk_get_inode xfs: rename xchk_get_inode -> xchk_iget_for_scrubbing xfs: retain the AGI when we can't iget an inode to scrub the core xfs: don't take the MMAPLOCK when scrubbing file metadata fs/xfs/Makefile | 1 + fs/xfs/scrub/bmap.c | 9 +- fs/xfs/scrub/common.c | 328 ++++++++++++++++++++++++++++++++---------- fs/xfs/scrub/common.h | 11 +- fs/xfs/scrub/dir.c | 240 ++++++++++--------------------- fs/xfs/scrub/inode.c | 191 +++++++++++++++++++++---- fs/xfs/scrub/parent.c | 308 +++++++++++++--------------------------- fs/xfs/scrub/readdir.c | 375 +++++++++++++++++++++++++++++++++++++++++++++++++ fs/xfs/scrub/readdir.h | 19 +++ fs/xfs/scrub/scrub.c | 2 +- fs/xfs/xfs_icache.c | 3 +- fs/xfs/xfs_icache.h | 11 +- 12 files changed, 1009 insertions(+), 489 deletions(-) create mode 100644 fs/xfs/scrub/readdir.c create mode 100644 fs/xfs/scrub/readdir.h