From: Chris Mason Date: Wed, 1 Oct 2008 23:05:46 +0000 (-0400) Subject: Btrfs: don't read leaf blocks containing only checksums during truncate X-Git-Tag: v2.6.29-rc1~27^2~9^2~55^2~56^2~11 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=323ac95bce442bbde514e3ce57e840402f80d909;p=pandora-kernel.git Btrfs: don't read leaf blocks containing only checksums during truncate Checksum items take up a significant portion of the metadata for large files. It is possible to avoid reading them during truncates by checking the keys in the higher level nodes. If a given leaf is followed by another leaf where the lowest key is a checksum item from the same file, we know we can safely delete the leaf without reading it. For a 32GB file on a 6 drive raid0 array, Btrfs needs 8s to delete the file with a cold cache. It is read bound during the run. With this change, Btrfs is able to delete the file in 0.5s Signed-off-by: Chris Mason --- Reading git-diff-tree failed