From: Chris Mason Date: Tue, 13 Oct 2009 17:21:08 +0000 (-0400) Subject: Btrfs: avoid tree log commit when there are no changes X-Git-Tag: v2.6.32-rc5~8^2~7 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=257c62e1bce03e5b9f3f069fd52ad73a56de71fd;p=pandora-kernel.git Btrfs: avoid tree log commit when there are no changes rpm has a habit of running fdatasync when the file hasn't changed. We already detect if a file hasn't been changed in the current transaction but it might have been sent to the tree-log in this transaction and not changed since the last call to fsync. In this case, we want to avoid a tree log sync, which includes a number of synchronous writes and barriers. This commit extends the existing tracking of the last transaction to change a file to also track the last sub-transaction. The end result is that rpm -ivh and -Uvh are roughly twice as fast, and on par with ext3. Signed-off-by: Chris Mason --- Reading git-diff-tree failed