[PATCHSET DELUGE v11] xfs: Parent Pointers

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



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



[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux