summaryrefslogtreecommitdiffstats
path: root/xlators/performance/read-ahead/src/read-ahead.c
diff options
context:
space:
mode:
authorRaghavendra G <raghavendra@gluster.com>2012-03-20 17:11:04 +0530
committerVijay Bellur <vijay@gluster.com>2012-03-20 10:42:42 -0700
commitb8e98e8d6fa1a783f9dac4eb17609f799fde4b2b (patch)
treee2a89c818c5bbf7edbb0280a8fd2ca3ae562686d /xlators/performance/read-ahead/src/read-ahead.c
parentdbae3d58d7dbfb404211866a17da1559cdde3387 (diff)
performance/read-ahead: destroy pages which survived from being flushed
in flush_region because of frames waiting on them, after those frames are served. Change-Id: Ic8402f3da32058a1a11e62124b598b0ec3befeff BUG: 767948 Signed-off-by: Raghavendra G <raghavendra@gluster.com> Reviewed-on: http://review.gluster.com/2982 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
Diffstat (limited to 'xlators/performance/read-ahead/src/read-ahead.c')
-rw-r--r--xlators/performance/read-ahead/src/read-ahead.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/xlators/performance/read-ahead/src/read-ahead.c b/xlators/performance/read-ahead/src/read-ahead.c
index f7f16115..718bf339 100644
--- a/xlators/performance/read-ahead/src/read-ahead.c
+++ b/xlators/performance/read-ahead/src/read-ahead.c
@@ -248,8 +248,12 @@ flush_region (call_frame_t *frame, ra_file_t *file, off_t offset, off_t size,
if (!trav->waitq) {
ra_page_purge (trav);
}
- else if (for_write) {
- trav->poisoned = 1;
+ else {
+ trav->stale = 1;
+
+ if (for_write) {
+ trav->poisoned = 1;
+ }
}
}
trav = next;