diff options
author | Raghavendra G <raghavendra@gluster.com> | 2012-03-20 17:11:04 +0530 |
---|---|---|
committer | Vijay Bellur <vijay@gluster.com> | 2012-03-20 10:42:42 -0700 |
commit | b8e98e8d6fa1a783f9dac4eb17609f799fde4b2b (patch) | |
tree | e2a89c818c5bbf7edbb0280a8fd2ca3ae562686d /xlators/performance/read-ahead/src/read-ahead.c | |
parent | dbae3d58d7dbfb404211866a17da1559cdde3387 (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.c | 8 |
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 f7f16115b..718bf3398 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; |