tag name | btree-bulk-loading-5.7_2020-03-15 (61bc70f842beb50ed3f967fcdbcaeb9bb0daa8ba) |
tag date | 2020-03-15 16:47:28 -0700 |
tagged by | Darrick J. Wong <darrick.wong@oracle.com> |
tagged object | commit 163cf69683... |
xfs: btree bulk loading
This series creates a bulk loading function for metadata btree cursors.
We start by creating the idea of a "fake root" for each of the btree
root types (AG header and inode) so that we can use a special btree
cursor to stage a new btree without altering anything that might already
exist.
Next, we add utility functions to compute the desired btree shape for a
given number of records, load records into new leaf blocks, compute the
node blocks from that, and present the new root ready for commit.
Finally we extend all four per-AG btree cursor types to support staging
cursors and therefore bulk loading. This will be used by upcoming patch
series to implement online repair and refactor offline repair.
For v4, fix a lot of review comments from Brian Foster, most of which
relate to disentangling thornier parts of the code; and clarifying the
documentation so that someone other than the author can understand what
is going on here. :)
For v5, a few documentation tweaks and moving the btree staging code to
a separate file since it's really a new use for btree cursors.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEUzaAxoMeQq6m2jMV+H93GTRKtOsFAl5uvpAACgkQ+H93GTRK
tOsd+RAAiRkllr2OpVpPxkXtSYUEnOkHbwVPXGKtq+bjpWtYL/2n9FpSCbzVyoIK
PImZWLYCbWUdNZbFrwHpuTdefbAAuKdArQKFIFFBQ/LNkFC7y+Y8n7FrB+ULfNxg
CQaNjSPkt861oo6Qbki9SVXhMtNP1TL4I++VcecAiNb8roOPVIpZ9fz9CIiFDRVU
ElDEALmVKtBffYQA+Jn3lUFIy/NQtPfr+ULTmtFyFZ2DLS2MQNWaL6lvOJXnUYfv
W61R7EiuOvqv7WcmgdchEvwlIfWrDbWbS5ZtFLPrLcrD6oNJkkfuWOeT+aQL1Ve6
cG2DnGVUs1In09uoIHXQw2GlL4/Kot72TFrFr5tPizQeaFd+qvBOrC49lZ56YiJ4
wOFVH/SMq3YV4rpSgDC8hZ4xJ+6y9X4oBCgJscB58fZYycRc60J1xMOQoIYdVcej
g68zr2CfT7PTrR/qcbApjEG2aQFVkEQvJ6tmR4rgoiZhYZ+Q3PnVU8wV6Y6KW4+7
6+HVAwwPxqKG0ODDdX7SVIWJsmJ5dVfwuE7sNMSEd4MiXXZ9LlF4OYZ7WCi9s6zz
sod8LV9UYiyvQU+sIg3eCmREgNQe2hik2zZO4+u46Ariu+PxufZ7fDaR3DxdmWn4
XtLTkV484bfWQNtQEcESaBCKjOh5ylgzeo5v4k1TwShlRsqJ11Y=
=jZaa
-----END PGP SIGNATURE-----