[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a8e1da0803140408je1f180cra6f6027b39fa07dd@mail.gmail.com>
Date: Fri, 14 Mar 2008 19:08:14 +0800
From: "Dave Young" <hidave.darkstar@...il.com>
To: linux-kernel@...r.kernel.org
Cc: wfg@...l.ustc.edu.cn, akpm@...ux-foundation.org, jack@...e.cz,
chris@...uxinfotag.de
Subject: Re: [PATCH][BUG 10227] readahead ret value fix
On Fri, Mar 14, 2008 at 6:49 PM, Dave Young <hidave.darkstar@...il.com> wrote:
> If the page_offset > end_index, the return value should be updated to 0,
> avoiding the redundant read_pages
>
> Signed-off-by: Dave Young <hidave.darkstar@...il.com>
>
> ---
> mm/readahead.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff -upr linux/mm/readahead.c linux.new/mm/readahead.c
> --- linux/mm/readahead.c 2008-03-14 18:38:12.000000000 +0800
> +++ linux.new/mm/readahead.c 2008-03-14 18:38:58.000000000 +0800
> @@ -144,8 +144,10 @@ __do_page_cache_readahead(struct address
> for (page_idx = 0; page_idx < nr_to_read; page_idx++) {
> pgoff_t page_offset = offset + page_idx;
>
> - if (page_offset > end_index)
> + if (page_offset > end_index) {
> + ret = 0;
> break;
> + }
>
> rcu_read_lock();
> page = radix_tree_lookup(&mapping->page_tree, page_offset);
>
It's not right at all, sorry for the wrong quick patch.
Anyway, please see the following debug info of me
Mar 14 18:33:51 darkstar kernel: [ 19.073085] 3c59x: Donald Becker and others.
Mar 14 18:34:39 darkstar kernel: [ 117.837850] #0 page_offset : 0,
end_index : 2 ret: 0
Mar 14 18:34:39 darkstar kernel: [ 117.837854] #1 page_offset : 0,
end_index : 2
Mar 14 18:34:39 darkstar kernel: [ 117.837861] #0 page_offset : 1,
end_index : 2 ret: 1
Mar 14 18:34:39 darkstar kernel: [ 117.837873] #1 page_offset : 1,
end_index : 2
Mar 14 18:34:39 darkstar kernel: [ 117.837888] #0 page_offset : 2,
end_index : 2 ret: 2
Mar 14 18:34:39 darkstar kernel: [ 117.837911] #1 page_offset : 2,
end_index : 2
Mar 14 18:34:39 darkstar kernel: [ 117.837922] #0 page_offset : 3,
end_index : 2 ret: 3
Mar 14 18:34:40 darkstar kernel: [ 118.051620] #0 page_offset : 3,
end_index : 2 ret: 0
Mar 14 18:34:40 darkstar kernel: [ 118.051626] zisofs : req invalid
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists