summaryrefslogtreecommitdiffstats
tag namebtree-geometry-in-ops_2022-12-17 (a772a0a3c05143bc5c4d975105095699f0374301)
tag date2022-12-17 11:44:42 -0800
tagged byDarrick J. Wong <djwong@kernel.org>
tagged objectcommit e285d62c7f...
downloadxfs-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-----