Chris Mason 323ac95bce 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 <chris.mason@oracle.com>
2008-10-01 19:05:46 -04:00
..
2008-09-25 11:04:07 -04:00
2008-09-29 15:18:18 -04:00
2008-09-29 15:18:18 -04:00
2007-06-12 09:07:21 -04:00
2008-09-29 15:18:18 -04:00
2008-09-29 15:18:18 -04:00
2008-09-25 11:04:07 -04:00
2008-09-25 11:04:06 -04:00
2008-09-29 15:18:18 -04:00
2008-09-29 15:18:18 -04:00
2008-09-29 15:18:18 -04:00
2008-09-25 11:04:06 -04:00
2007-06-22 14:49:31 -04:00
2008-09-25 11:04:03 -04:00
2008-09-29 15:18:18 -04:00
2008-09-29 15:18:18 -04:00
2008-09-29 15:18:18 -04:00
2008-09-29 15:18:18 -04:00
2008-09-29 15:18:18 -04:00
2008-09-29 15:18:18 -04:00
2008-09-29 15:18:18 -04:00
2008-09-29 15:18:18 -04:00
2008-09-29 15:18:18 -04:00
2008-09-29 15:18:18 -04:00
2008-09-25 11:04:07 -04:00
2008-09-25 11:04:06 -04:00
2008-09-25 11:04:07 -04:00
2008-09-25 11:04:07 -04:00