From e4b83aeeeb54e89bac8bafaeb0c2017a6c9f2761 Mon Sep 17 00:00:00 2001 From: bobijam Date: Wed, 24 Jun 2009 01:27:06 +0000 Subject: [PATCH] Branch b1_8 b=17197 o=tom.wang (wangdi) i=adilger i=johann Fix for detecting read-ahead problem. --- lustre/llite/rw.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lustre/llite/rw.c b/lustre/llite/rw.c index ec653d8..3b04691 100644 --- a/lustre/llite/rw.c +++ b/lustre/llite/rw.c @@ -1901,11 +1901,15 @@ static void ras_update(struct ll_sb_info *sbi, struct inode *inode, if (zero) { /* check whether it is in stride I/O mode*/ if (!index_in_stride_window(index, ras, inode)) { + if (ras->ras_consecutive_stride_requests++ == 0) + ras_update_stride_detector(ras, index); + else + ras_stride_reset(ras); ras_reset(ras, index); ras->ras_consecutive_pages++; - ras_stride_reset(ras); GOTO(out_unlock, 0); } else { + ras->ras_consecutive_pages = 0; ras->ras_consecutive_requests = 0; if (++ras->ras_consecutive_stride_requests > 1) stride_detect = 1; -- 1.8.3.1