diff options
author | Chris Mason <chris.mason@oracle.com> | 2008-10-02 01:05:46 +0200 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2008-10-02 01:05:46 +0200 |
commit | 323ac95bce442bbde514e3ce57e840402f80d909 (patch) | |
tree | 9b2241ed4de746087fdfb66f83fc142279648f9b /fs/btrfs/ordered-data.h | |
parent | Btrfs: fix deadlock between alloc_mutex/chunk_mutex (diff) | |
download | linux-323ac95bce442bbde514e3ce57e840402f80d909.tar.xz linux-323ac95bce442bbde514e3ce57e840402f80d909.zip |
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>
Diffstat (limited to 'fs/btrfs/ordered-data.h')
0 files changed, 0 insertions, 0 deletions