• Darrick J. Wong's avatar
    xfs: support bulk loading of staged btrees · 60e3d707
    Darrick J. Wong authored
    Add a new btree function that enables us to bulk load a btree cursor.
    This will be used by the upcoming online repair patches to generate new
    btrees.  This avoids the programmatic inefficiency of calling
    xfs_btree_insert in a loop (which generates a lot of log traffic) in
    favor of stamping out new btree blocks with ordered buffers, and then
    committing both the new root and scheduling the removal of the old btree
    blocks in a single transaction commit.
    
    The design of this new generic code is based off the btree rebuilding
    code in xfs_repair's phase 5 code, with the explicit goal of enabling us
    to share that code between scrub and repair.  It has the additional
    feature of being able to control btree block loading factors.
    Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
    Reviewed-by: default avatarBrian Foster <bfoster@redhat.com>
    60e3d707
xfs_btree.c 126 KB