lizardfs/0003-mount-Fix-read-request...

46 lines
1.3 KiB
Diff

From 0b970d4e0cad10a70c920cad0437bf8b278df00d Mon Sep 17 00:00:00 2001
From: Piotr Sarna <sarna@skytechnology.pl>
Date: Mon, 19 Jun 2017 14:38:05 +0200
Subject: [PATCH 3/3] mount: Fix read request size with disabled readahead
This commit makes read requests ask for proper size when readahead
feature is disabled (cacheexpirationtime set to 0).
Change-Id: Ia5d8cfb746d689b1f4750e79721419d02ae7db70
---
src/mount/readahead_adviser.h | 4 ++++
src/mount/readdata_cache.h | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/mount/readahead_adviser.h b/src/mount/readahead_adviser.h
index 1dc89eae..832be05b 100644
--- a/src/mount/readahead_adviser.h
+++ b/src/mount/readahead_adviser.h
@@ -54,6 +54,10 @@ public:
* \param size size of read operation
*/
void feed(uint64_t offset, uint32_t size) {
+ if (timeout_ms_ == 0) {
+ window_ = 0;
+ return;
+ }
addToHistory(size);
if (offset == current_offset_) {
random_candidates_ = 0;
diff --git a/src/mount/readdata_cache.h b/src/mount/readdata_cache.h
index 37f56e50..717826b6 100644
--- a/src/mount/readdata_cache.h
+++ b/src/mount/readdata_cache.h
@@ -61,7 +61,7 @@ public:
}
bool expired(uint32_t expiration_time) const {
- return timer.elapsed_ms() > expiration_time;
+ return timer.elapsed_ms() >= expiration_time;
}
Offset endOffset() const {
--
2.13.0