linux-xfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/7] xfs: btree bulk loading
@ 2020-03-15 23:50 Darrick J. Wong
  2020-03-15 23:50 ` [PATCH 1/7] xfs: introduce fake roots for ag-rooted btrees Darrick J. Wong
                   ` (6 more replies)
  0 siblings, 7 replies; 18+ messages in thread
From: Darrick J. Wong @ 2020-03-15 23:50 UTC (permalink / raw)
  To: darrick.wong; +Cc: linux-xfs, bfoster

Hi all,

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.

If you're going to start using this mess, you probably ought to just
pull from my git trees, which are linked below.

This has been lightly tested with fstests.  Enjoy!
Comments and questions are, as always, welcome.

--D

kernel git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=btree-bulk-loading-5.7

^ permalink raw reply	[flat|nested] 18+ messages in thread
* [PATCH v4 0/7] xfs: btree bulk loading
@ 2020-03-12  3:45 Darrick J. Wong
  2020-03-12  3:46 ` [PATCH 7/7] xfs: add support for rmap btree staging cursors Darrick J. Wong
  0 siblings, 1 reply; 18+ messages in thread
From: Darrick J. Wong @ 2020-03-12  3:45 UTC (permalink / raw)
  To: darrick.wong; +Cc: linux-xfs, bfoster

Hi all,

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. :)

If you're going to start using this mess, you probably ought to just
pull from my git trees, which are linked below.

This has been lightly tested with fstests.  Enjoy!
Comments and questions are, as always, welcome.

--D

kernel git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=btree-bulk-loading-5.7

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2020-03-17 11:37 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-15 23:50 [PATCH v5 0/7] xfs: btree bulk loading Darrick J. Wong
2020-03-15 23:50 ` [PATCH 1/7] xfs: introduce fake roots for ag-rooted btrees Darrick J. Wong
2020-03-16 10:41   ` Christoph Hellwig
2020-03-16 15:03     ` Darrick J. Wong
2020-03-15 23:50 ` [PATCH 2/7] xfs: introduce fake roots for inode-rooted btrees Darrick J. Wong
2020-03-15 23:50 ` [PATCH 3/7] xfs: support bulk loading of staged btrees Darrick J. Wong
2020-03-15 23:51 ` [PATCH 4/7] xfs: add support for free space btree staging cursors Darrick J. Wong
2020-03-16 12:29   ` Brian Foster
2020-03-16 14:58     ` Darrick J. Wong
2020-03-16 19:35   ` [PATCH v2 " Darrick J. Wong
2020-03-17 11:37     ` Brian Foster
2020-03-15 23:51 ` [PATCH 5/7] xfs: add support for inode " Darrick J. Wong
2020-03-16 12:29   ` Brian Foster
2020-03-15 23:51 ` [PATCH 6/7] xfs: add support for refcount " Darrick J. Wong
2020-03-16 12:29   ` Brian Foster
2020-03-15 23:51 ` [PATCH 7/7] xfs: add support for rmap " Darrick J. Wong
2020-03-16 12:30   ` Brian Foster
  -- strict thread matches above, loose matches on Subject: below --
2020-03-12  3:45 [PATCH v4 0/7] xfs: btree bulk loading Darrick J. Wong
2020-03-12  3:46 ` [PATCH 7/7] xfs: add support for rmap btree staging cursors Darrick J. Wong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).