From: "Darrick J. Wong" <djwong@kernel.org>
To: Christoph Hellwig <hch@infradead.org>
Cc: cem@kernel.org, stable@vger.kernel.org,
linux-xfs@vger.kernel.org, hch@lst.de
Subject: Re: [PATCH 1/6] xfs: don't move nondir/nonreg temporary repair files to the metadir namespace
Date: Wed, 4 Dec 2024 22:14:50 -0800 [thread overview]
Message-ID: <20241205061450.GC7837@frogsfrogsfrogs> (raw)
In-Reply-To: <Z1ARxgqwLYNvpdYS@infradead.org>
On Wed, Dec 04, 2024 at 12:24:38AM -0800, Christoph Hellwig wrote:
> On Tue, Dec 03, 2024 at 07:02:29PM -0800, Darrick J. Wong wrote:
> > From: Darrick J. Wong <djwong@kernel.org>
> >
> > Only directories or regular files are allowed in the metadata directory
> > tree. Don't move the repair tempfile to the metadir namespace if this
> > is not true; this will cause the inode verifiers to trip.
>
> Shouldn't this be an error instead of silently returning? Either way
> the function could probably use a lot more comments explaining what is
> doing and why.
The function opportunistically moves sc->tempip from the regular
directory tree to the metadata directory tree if sc->ip is part of the
metadata directory tree. However, the scrub setup functions grab sc->ip
and create sc->tempip before we actually get around to checking if the
file is the right type for the scrubber.
IOWs, you can invoke the symlink scrubber with the file handle of a
subdirectory in the metadir. xrep_setup_symlink will create a temporary
symlink file, xrep_tempfile_adjust_directory_tree will foolishly try to
set the METADATA flag on the temp symlink, which trips the inode
verifier in the inode item precommit, which shuts down the filesystem
when expensive checks are turned on. If they're /not/ turned on, then
xchk_symlink will return ENOENT when it sees that it's been passed a
symlink.
I considered modifying xchk_setup_inode_contents to check the mode if
desired and return ENOENT to abort the scrub without calling
_adjust_directory_tree, but it seemed simpler to leave the tempfile code
inside tempfile.c.
<shrug> I'm ok doing it that way too.
--D
next prev parent reply other threads:[~2024-12-05 6:14 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-04 3:02 [PATCHSET v2] xfs: proposed bug fixes for 6.13 Darrick J. Wong
2024-12-04 3:02 ` [PATCH 1/6] xfs: don't move nondir/nonreg temporary repair files to the metadir namespace Darrick J. Wong
2024-12-04 8:24 ` Christoph Hellwig
2024-12-05 6:14 ` Darrick J. Wong [this message]
2024-12-05 6:46 ` Christoph Hellwig
2024-12-05 7:16 ` Darrick J. Wong
2024-12-04 3:02 ` [PATCH 2/6] xfs: don't crash on corrupt /quotas dirent Darrick J. Wong
2024-12-04 8:24 ` Christoph Hellwig
2024-12-04 3:03 ` [PATCH 3/6] xfs: check pre-metadir fields correctly Darrick J. Wong
2024-12-04 8:25 ` Christoph Hellwig
2024-12-04 3:03 ` [PATCH 4/6] xfs: fix zero byte checking in the superblock scrubber Darrick J. Wong
2024-12-04 8:27 ` Christoph Hellwig
2024-12-05 5:54 ` Darrick J. Wong
2024-12-05 6:48 ` Christoph Hellwig
2024-12-05 7:17 ` Darrick J. Wong
2024-12-04 3:03 ` [PATCH 5/6] xfs: return from xfs_symlink_verify early on V4 filesystems Darrick J. Wong
2024-12-04 8:27 ` Christoph Hellwig
2024-12-04 3:03 ` [PATCH 6/6] xfs: port xfs_ioc_start_commit to multigrain timestamps Darrick J. Wong
2024-12-04 4:01 ` Jeff Layton
2024-12-04 8:28 ` Christoph Hellwig
2024-12-05 1:26 ` [PATCHSET v2] xfs: proposed bug fixes for 6.13 Bill O'Donnell
2024-12-05 6:42 ` Darrick J. Wong
2024-12-05 6:52 ` Bill O'Donnell
2024-12-05 6:58 ` Christoph Hellwig
2024-12-05 7:04 ` Bill O'Donnell
2024-12-05 7:30 ` Bill O'Donnell
2024-12-05 7:39 ` Darrick J. Wong
2024-12-05 7:33 ` Darrick J. Wong
2024-12-05 7:40 ` Bill O'Donnell
2024-12-05 7:46 ` Bill O'Donnell
2024-12-05 8:02 ` Bill O'Donnell
2024-12-05 8:39 ` Greg KH
2024-12-05 8:47 ` Bill O'Donnell
2024-12-05 7:57 ` Darrick J. Wong
2024-12-05 16:11 ` Bill O'Donnell
-- strict thread matches above, loose matches on Subject: below --
2024-12-07 0:30 [PATCHSET v3] " Darrick J. Wong
2024-12-07 0:31 ` [PATCH 1/6] xfs: don't move nondir/nonreg temporary repair files to the metadir namespace Darrick J. Wong
2024-12-11 20:07 [PATCHSET v4] xfs: bug fixes for 6.13 Darrick J. Wong
2024-12-11 20:07 ` [PATCH 1/6] xfs: don't move nondir/nonreg temporary repair files to the metadir namespace 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=20241205061450.GC7837@frogsfrogsfrogs \
--to=djwong@kernel.org \
--cc=cem@kernel.org \
--cc=hch@infradead.org \
--cc=hch@lst.de \
--cc=linux-xfs@vger.kernel.org \
--cc=stable@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