[Ocfs2-devel] [PATCH 3/4] ocfs2: Add readhead during CoW.
Joel Becker
Joel.Becker at oracle.com
Tue Jun 29 16:23:42 PDT 2010
On Tue, Jun 29, 2010 at 04:35:40PM +0800, Tao Ma wrote:
> @@ -2953,6 +2957,14 @@ static int ocfs2_duplicate_clusters_by_page(handle_t *handle,
> if (PAGE_CACHE_SIZE <= OCFS2_SB(sb)->s_clustersize)
> BUG_ON(PageDirty(page));
>
> + if (PageReadahead(page) && context->file) {
> + page_cache_async_readahead(mapping,
> + &context->file->f_ra,
> + context->file,
> + page, page_index,
> + readahead_pages);
> + }
This is merely re-sending the same pages that were already sent,
right? In the previous patch, you asked the readahead code to try all
pages in the hunk. Now you've discovered a page that isn't yet up to
date, and you send it (and the 1M next to it) back to readahead.
This is, I assume, because the readahead code doesn't actually
read your entire request from page_cache_sync_readahead(). It just
reads some, and this is you hinting that you need the next bit. Am I
right?
Joel
--
Life's Little Instruction Book #464
"Don't miss the magic of the moment by focusing on what's
to come."
Joel Becker
Consulting Software Developer
Oracle
E-mail: joel.becker at oracle.com
Phone: (650) 506-8127
More information about the Ocfs2-devel
mailing list