From: "Darrick J. Wong" <djwong@kernel.org>
To: Allison Henderson <allison.henderson@oracle.com>
Cc: xfs <linux-xfs@vger.kernel.org>, fstests <fstests@vger.kernel.org>
Subject: [PATCHSET DELUGE v11] xfs: Parent Pointers
Date: Thu, 6 Apr 2023 11:10:38 -0700 [thread overview]
Message-ID: <20230406181038.GA360889@frogsfrogsfrogs> (raw)
Hi everyone,
This submission contains all of the changes to the parent pointers
patchset that I've been working since last month's deluge. The kernel
and xfsprogs patchsets are based on Allison's v10 tag from some time
ago. To recap Allison's cover letter:
"The goal of this patch set is to add a parent pointer attribute to each
inode. The attribute name containing the parent inode, generation, and
directory offset, while the attribute value contains the file name.
This feature will enable future optimizations for online scrub, shrink,
nfs handles, verity, or any other feature that could make use of quickly
deriving an inodes path from the mount point."
v11 rebases everything against 6.3-rc5, and weaves all the changes that
I had made against v10 into Allison's original series. The new xattr
NVLOOKUP mode that I introduced for v10 is critical for handling parent
pointer attr name collisions with grace, so that has been retained from
v10. With that in place, I've replaced the diroffset in the ondisk
parent pointer with the dirent hash of the name.
Parent pointers now look like this:
(parent_ino, parent_gen, namehash) -> (name[])
I experimented with replacing the dahash with crc32c for this patchset
but left it out, having concluded that checksum operation has higher
overhead (thanks, crypto api!), would require someone to figure out crc
spoofing sufficiently well to keep metadump name obfuscation working,
and doesn't seem to improve collision resistance sufficiently to be
worth the added engineering cost.
As of this submission, I think this feature is ready to go once we've
merged the online repair code and rebased the online repair code to
actually commit the repaired directories.
If you want to pull the whole thing, use these links:
https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git/log/?h=pptrs
https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=pptrs-drop-unnecessary
https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfstests-dev.git/log/?h=pptrs
--D
next reply other threads:[~2023-04-06 18:10 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-06 18:10 Darrick J. Wong [this message]
2023-04-06 19:07 ` [PATCHSET DELUGE v11] xfs: Parent Pointers Darrick J. Wong
2023-04-06 19:16 ` [PATCHSET v11 00/11] fstests: adjust tests for xfs parent pointers Darrick J. Wong
2023-04-06 19:41 ` [PATCH 01/11] xfs/206: filter out the parent= status from mkfs Darrick J. Wong
2023-04-06 19:42 ` [PATCH 02/11] xfs/122: update for parent pointers Darrick J. Wong
2023-04-06 19:42 ` [PATCH 03/11] populate: create hardlinks " Darrick J. Wong
2023-04-06 19:42 ` [PATCH 04/11] xfs/021: adapt golden output files " Darrick J. Wong
2023-04-06 19:43 ` [PATCH 05/11] generic/050: adapt " Darrick J. Wong
2023-04-06 19:43 ` [PATCH 06/11] xfs/018: disable parent pointers for this test Darrick J. Wong
2023-04-06 19:43 ` [PATCH 07/11] xfs/306: fix formatting failures with parent pointers Darrick J. Wong
2023-04-06 19:43 ` [PATCH 08/11] common: add helpers for parent pointer tests Darrick J. Wong
2023-04-06 19:44 ` [PATCH 09/11] xfs: add parent pointer test Darrick J. Wong
2023-04-06 19:44 ` [PATCH 10/11] xfs: add multi link " Darrick J. Wong
2023-04-06 19:44 ` [PATCH 11/11] xfs: add parent pointer inject test 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=20230406181038.GA360889@frogsfrogsfrogs \
--to=djwong@kernel.org \
--cc=allison.henderson@oracle.com \
--cc=fstests@vger.kernel.org \
--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