]> www.infradead.org Git - users/hch/xfsprogs.git/commit
xfs_repair: move the global dirent name store to a separate object
authorDarrick J. Wong <djwong@kernel.org>
Mon, 29 Jul 2024 23:23:26 +0000 (16:23 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Tue, 30 Jul 2024 00:01:12 +0000 (17:01 -0700)
commitf043df1a010857a374b6fabdc388f9b427741ccb
treed52e4a76df522e5833d430639e80fc43497cb9db
parent80763b46791c32f5d7c7f855bb4e2f7cb5784b58
xfs_repair: move the global dirent name store to a separate object

Abstract the main parent pointer dirent names xfblob object into a
separate data structure to hide implementation details.

The goals here are (a) reduce memory usage when we can by deduplicating
dirent names that exist in multiple directories; and (b) provide a
unique id for each name in the system so that sorting incore parent
pointer records can be done in a stable manner.  Fast stable sorting of
records is required for the dirent <-> pptr matching algorithm.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
repair/Makefile
repair/pptr.c
repair/strblobs.c [new file with mode: 0644]
repair/strblobs.h [new file with mode: 0644]