• Josef Bacik's avatar
    Btrfs: be smarter about committing the transaction in reserve_metadata_bytes · 663350ac
    Josef Bacik authored
    Because of the overcommit stuff I had to make it so that we committed the
    transaction all the time in reserve_metadata_bytes in case we had overcommitted
    because of delayed items.  This was because previously we had no way of knowing
    how much space was reserved for delayed items.  Now that we have the
    delayed_block_rsv we can check it to see if committing the transaction would get
    us anywhere.  This patch breaks out the committing logic into a helper function
    that will check to see if committing the transaction would free enough space for
    us to get anything done.  With this patch xfstests 83 goes from taking 445
    seconds to taking 28 seconds on my box.  Thanks,
    Signed-off-by: default avatarJosef Bacik <josef@redhat.com>
    Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    663350ac
extent-tree.c 200 KB