From: "Darrick J. Wong" <djwong@kernel.org>
To: chandanbabu@kernel.org, djwong@kernel.org
Cc: hch@lst.de, linux-xfs@vger.kernel.org
Subject: [GIT PULL 13/16] xfs: inode-related repair fixes
Date: Mon, 15 Apr 2024 17:30:46 -0700 [thread overview]
Message-ID: <171322718995.141687.5544842750949971895.stg-ugh@frogsfrogsfrogs> (raw)
In-Reply-To: <20240416002427.GB11972@frogsfrogsfrogs>
Hi Chandan,
Please pull this branch with changes for xfs for 6.10-rc1.
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 ab97f4b1c030750f2475bf4da8a9554d02206640:
xfs: repair AGI unlinked inode bucket lists (2024-04-15 14:58:58 -0700)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/inode-repair-improvements-6.10_2024-04-15
for you to fetch changes up to 1a5f6e08d4e379a23da5be974aee50b26a20c5b0:
xfs: create subordinate scrub contexts for xchk_metadata_inode_subtype (2024-04-15 14:59:00 -0700)
----------------------------------------------------------------
xfs: inode-related repair fixes [v30.3 13/16]
While doing QA of the online fsck code, I made a few observations:
First, nobody was checking that the di_onlink field is actually zero;
Second, that allocating a temporary file for repairs can fail (and
thus bring down the entire fs) if the inode cluster is corrupt; and
Third, that file link counts do not pin at ~0U to prevent integer
overflows. Fourth, the x{chk,rep}_metadata_inode_fork functions
should be subclassing the main scrub context, not modifying the
parent's setup willy-nilly.
This scattered patchset fixes those three problems.
This has been running on the djcloud for months with no problems. Enjoy!
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
----------------------------------------------------------------
Darrick J. Wong (4):
xfs: check unused nlink fields in the ondisk inode
xfs: try to avoid allocating from sick inode clusters
xfs: pin inodes that would otherwise overflow link count
xfs: create subordinate scrub contexts for xchk_metadata_inode_subtype
fs/xfs/libxfs/xfs_format.h | 6 ++++
fs/xfs/libxfs/xfs_ialloc.c | 40 ++++++++++++++++++++++++++
fs/xfs/libxfs/xfs_inode_buf.c | 8 ++++++
fs/xfs/scrub/common.c | 23 +++------------
fs/xfs/scrub/dir_repair.c | 11 ++-----
fs/xfs/scrub/inode_repair.c | 12 ++++++++
fs/xfs/scrub/nlinks.c | 4 ++-
fs/xfs/scrub/nlinks_repair.c | 8 ++----
fs/xfs/scrub/repair.c | 67 +++++++++----------------------------------
fs/xfs/scrub/scrub.c | 63 ++++++++++++++++++++++++++++++++++++++++
fs/xfs/scrub/scrub.h | 11 +++++++
fs/xfs/xfs_inode.c | 33 ++++++++++++++-------
12 files changed, 187 insertions(+), 99 deletions(-)
next prev parent reply other threads:[~2024-04-16 0:30 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-16 0:24 [GIT PULLBOMB v30.3] xfs: online repair, part 1 is done Darrick J. Wong
2024-04-16 0:27 ` [GIT PULL 01/16] xfs: improve log incompat feature handling Darrick J. Wong
2024-04-16 0:27 ` [GIT PULL 02/16] xfs: refactorings for atomic file content exchanges Darrick J. Wong
2024-04-16 0:28 ` [GIT PULL 03/16] xfs: " Darrick J. Wong
2024-04-16 0:28 ` [GIT PULL 04/16] xfs: create temporary files for online repair Darrick J. Wong
2024-04-16 0:28 ` [GIT PULL 05/16] xfs: online repair of realtime summaries Darrick J. Wong
2024-04-16 0:28 ` [GIT PULL 06/16] xfs: set and validate dir/attr block owners Darrick J. Wong
2024-04-16 0:29 ` [GIT PULL 07/16] xfs: online repair of extended attributes Darrick J. Wong
2024-04-16 0:29 ` [GIT PULL 08/16] xfs: online repair of inode unlinked state Darrick J. Wong
2024-04-16 0:29 ` [GIT PULL 09/16] xfs: online repair of directories Darrick J. Wong
2024-04-16 0:29 ` [GIT PULL 10/16] xfs: move orphan files to lost and found Darrick J. Wong
2024-04-16 0:30 ` [GIT PULL 11/16] xfs: online repair of symbolic links Darrick J. Wong
2024-04-16 0:30 ` [GIT PULL 12/16] xfs: online fsck of iunlink buckets Darrick J. Wong
2024-04-16 0:30 ` Darrick J. Wong [this message]
2024-04-16 0:33 ` [GIT PULL 14/16] xfs: less heavy locks during fstrim Darrick J. Wong
2024-04-16 0:33 ` [GIT PULL 15/16] xfs: design documentation for online fsck, part 2 Darrick J. Wong
2024-04-16 0:33 ` [GIT PULL 16/16] xfs: retain ILOCK during directory updates Darrick J. Wong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=171322718995.141687.5544842750949971895.stg-ugh@frogsfrogsfrogs \
--to=djwong@kernel.org \
--cc=chandanbabu@kernel.org \
--cc=hch@lst.de \
--cc=linux-xfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).