• Chris Mason's avatar
    Btrfs: Leaf reference cache update · 017e5369
    Chris Mason authored
    This changes the reference cache to make a single cache per root
    instead of one cache per transaction, and to key by the byte number
    of the disk block instead of the keys inside.
    
    This makes it much less likely to have cache misses if a snapshot
    or something has an extra reference on a higher node or a leaf while
    the first transaction that added the leaf into the cache is dropping.
    
    Some throttling is added to functions that free blocks heavily so they
    wait for old transactions to drop.
    Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    017e5369
transaction.c 21 KB