• Yan, Zheng's avatar
    Btrfs: speed up snapshot dropping · 1c4850e2
    Yan, Zheng authored
    This patch contains two changes to avoid unnecessary tree block reads during
    snapshot dropping.
    
    First, check tree block's reference count and flags before reading the tree
    block. if reference count > 1 and there is no need to update backrefs, we can
    avoid reading the tree block.
    
    Second, save when snapshot was created in root_key.offset. we can compare block
    pointer's generation with snapshot's creation generation during updating
    backrefs. If a given block was created before snapshot was created, the
    snapshot can't be the tree block's owner. So we can avoid reading the block.
    Signed-off-by: default avatarYan Zheng <zheng.yan@oracle.com>
    Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    1c4850e2
transaction.c 28.7 KB