diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2014-07-01 23:50:17 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2014-07-02 00:05:43 +0900 |
| commit | 8750d7be99be5b59aef460e1e70519986ba50564 (patch) | |
| tree | f3fd051408b4068d94ee2daa9de63edd5d8b3f7b /src/AbstractSingleDiskAdaptor.cc | |
| parent | 0b6501043a88dedd3936dce4b10bacd96e63909b (diff) | |
Disard cache when checking checksum
This will slow down checksum checking but does not thrash cache.
Diffstat (limited to 'src/AbstractSingleDiskAdaptor.cc')
| -rw-r--r-- | src/AbstractSingleDiskAdaptor.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/AbstractSingleDiskAdaptor.cc b/src/AbstractSingleDiskAdaptor.cc index c3a2ba0c..974af822 100644 --- a/src/AbstractSingleDiskAdaptor.cc +++ b/src/AbstractSingleDiskAdaptor.cc @@ -83,6 +83,18 @@ ssize_t AbstractSingleDiskAdaptor::readData return diskWriter_->readData(data, len, offset); } +ssize_t AbstractSingleDiskAdaptor::readDataDropCache +(unsigned char* data, size_t len, int64_t offset) +{ + auto rv = readData(data, len, offset); + + if(rv > 0) { + diskWriter_->dropCache(len, offset); + } + + return rv; +} + void AbstractSingleDiskAdaptor::writeCache(const WrDiskCacheEntry* entry) { // Write cached data in 4KiB aligned offset. This reduces disk |
