tag name | btree-geometry-in-ops_2023-05-02 (71338b05d9189915f5cbcf5f122db49165167847) |
tag date | 2023-05-02 13:25:12 -0700 |
tagged by | Darrick J. Wong <djwong@kernel.org> |
tagged object | commit 01cd8118f3... |
download | xfs-linux-btree-geometry-in-ops_2023-05-02.tar.gz |
---|
xfs: move btree geometry to ops struct [v24.0]
This patchset prepares the generic btree code to allow for the creation
of new btree types outside of libxfs. The end goal here is for online
fsck to be able to create its own in-memory btrees that will be used to
improve the performance (and reduce the memory requirements of) the
refcount btree.
To enable this, I decided that the btree ops structure is the ideal
place to encode all of the geometry information about a btree. The btree
ops struture already contains the buffer ops (and hence the btree block
magic numbers) as well as the key and record sizes, so it doesn't seem
all that farfetched to encode the XFS_BTREE_ flags that determine the
geometry (ROOT_IN_INODE, LONG_PTRS, etc).
The rest of the patchset cleans up the btree functions that initialize
btree blocks and btree buffers. The bulk of this work is to replace
btree geometry related function call arguments with a single pointer to
the ops structure, and then clean up everything else around that. As a
side effect, we rename the functions.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQQ2qTKExjcn+O1o2YRKO3ySh0YRpgUCZFFxqAAKCRBKO3ySh0YR
pgrPAP9XPUugneb3+4S4qsQMa/JumcqCzUSiZy6K3WBd2Pm5bQEA5uD8M91urc3C
Z/S/KG2xgmfyviKe/ceOdCYAPSW3Nww=
=oN7R
-----END PGP SIGNATURE-----