• Chris Mason's avatar
    Add btrfs_end_transaction_throttle to force writers to wait for pending commits · 89ce8a63
    Chris Mason authored
    The existing throttle mechanism was often not sufficient to prevent
    new writers from coming in and making a given transaction run forever.
    This adds an explicit wait at the end of most operations so they will
    allow the current transaction to close.
    There is no wait inside file_write, inode updates, or cow filling, all which
    have different deadlock possibilities.
    This is a temporary measure until better asynchronous commit support is
    added.  This code leads to stalls as it waits for data=ordered
    writeback, and it really needs to be fixed.
    Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>