Btrfs: speed up snapshot dropping
authorYan, Zheng <zheng.yan@oracle.com>
Mon, 21 Sep 2009 19:55:59 +0000 (15:55 -0400)
committerChris Mason <chris.mason@oracle.com>
Mon, 21 Sep 2009 19:55:59 +0000 (15:55 -0400)
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: Yan Zheng <zheng.yan@oracle.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>

No differences found