tag name | btree-geometry-in-ops_2022-12-17 (a772a0a3c05143bc5c4d975105095699f0374301) |
tag date | 2022-12-17 11:44:42 -0800 |
tagged by | Darrick J. Wong <djwong@kernel.org> |
tagged object | commit e285d62c7f... |
download | xfs-linux-btree-geometry-in-ops_2022-12-17.tar.gz |
---|
xfs: move btree geometry to ops struct
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-----
iQIzBAABCgAdFiEEUzaAxoMeQq6m2jMV+H93GTRKtOsFAmOeHCoACgkQ+H93GTRK
tOsi0g/+O4JGc5VaR3AwxcKUamld8pprOvD/81RnYcz7m3zHLcdgTY8WNx0/MzOy
wfuDqIuMXFhwwS5GEQQk567ByGsDviiFO3PRO93lDUuohCmhIjTVGKTpCupITxri
6KUylHkPPiJ09lZfiw9Og2q12A698reUEipmPyE48gnvZ6+G4mAoNeea7mW0kEbo
pydQXEIFZ3F887Gbn8EeFvFlieTyZgpLN2ajb8KR5yRo5q676f7L3AV27N3IBECU
uGkDR+chGhx33I3d7PEHfaGlbBTOctRR/0yEkygSZfsL41p2TJEDZ/bSZ/sLF5Go
uMX2sQlfCbDvpfSFZm0fN1Y2BfxoDLqPrtNRNcmd7HQpOuFhUwrL46QKmAbGGLll
38Y4idRQRhcZOMN3+hnO7c4tbi7dorfbvD7ucy2HYwDn/6GrlQDRX2fPHz8IzEE2
AKUMvmaS8KvWvUo2spxfQmzBPxVNVMeIkr5RXlhkLJapDWEY4QRD/v7fPw0hJTpy
eKziuhZjvTVjC5ZfRvkCeEsxyQovUnHx4NjFuIbAxBcPuRC8vIy6FrnG8WTlkNnH
vei3XB8pmHA2QAyM3BuThweRZU+wzZCFBonZxE6EACAHiT/bDqsY7KwiEfDXpAWr
fbcrCHCDYoSvZlMnRpqVTQG6vr0FJHxeQrxrZH1tmf8M39vjyvE=
=tHt2
-----END PGP SIGNATURE-----