xfs: introduce fake roots for ag-rooted btrees
authorDarrick J. Wong <darrick.wong@oracle.com>
Wed, 11 Mar 2020 17:40:26 +0000 (10:40 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Wed, 18 Mar 2020 15:12:23 +0000 (08:12 -0700)
commite06536a692e032470130af5b2136b519595809da
treeb819533b68ae7acdbf3dda79c37285d9abd5d795
parent608eb3cee7037c99f7a2d808dac1b8976492a828
xfs: introduce fake roots for ag-rooted btrees

Create an in-core fake root for AG-rooted btree types so that callers
can generate a whole new btree using the upcoming btree bulk load
function without making the new tree accessible from the rest of the
filesystem.  It is up to the individual btree type to provide a function
to create a staged cursor (presumably with the appropriate callouts to
update the fakeroot) and then commit the staged root back into the
filesystem.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
fs/xfs/Makefile
fs/xfs/libxfs/xfs_btree.c
fs/xfs/libxfs/xfs_btree.h
fs/xfs/libxfs/xfs_btree_staging.c [new file with mode: 0644]
fs/xfs/libxfs/xfs_btree_staging.h [new file with mode: 0644]
fs/xfs/xfs_trace.c
fs/xfs/xfs_trace.h