summaryrefslogtreecommitdiffstats
tag namebtree-geometry-in-ops_2023-05-02 (71338b05d9189915f5cbcf5f122db49165167847)
tag date2023-05-02 13:25:12 -0700
tagged byDarrick J. Wong <djwong@kernel.org>
tagged objectcommit 01cd8118f3...
downloadxfs-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-----