On Sun, Jul 04, 2010 at 11:13:01PM +0800, Tao Ma wrote:
> On 07/04/2010 05:33 AM, Joel Becker wrote:
> >@@ -1142,11 +1143,17 @@ static int ocfs2_grab_pages_for_write(struct 
> >address_space *mapping,
> >     /*
> >      * Figure out how many pages we'll be manipulating here. For
> >      * non allocating write, we just change the one
> >-     * page. Otherwise, we'll need a whole clusters worth.
> >+     * page. Otherwise, we'll need a whole clusters worth.  If we're
> >+     * writing past i_size, we only need enough pages to cover the
> >+     * last page of the write.
> The comments for the whole function before the function name also
> needs this change accordingly?

        Not really.  That comment set a limit, this comment is more
detailed.

> >     if (new) {
> >             wc->w_num_pages = ocfs2_pages_per_cluster(inode->i_sb);
> >             start = ocfs2_align_clusters_to_page_index(inode->i_sb, cpos);
> >+            /* This is the index *past* the write */
> >+            end_index = ((user_pos + user_len)>>  PAGE_CACHE_SHIFT) + 1;
> should it be
>               end_index = ((user_pos + user_len - 1) >> PAGE_CACHE_SHIFT) + 1?

        Maybe.  Gotta think about it and test.

Joel

-- 

Life's Little Instruction Book #232

        "Keep your promises."

Joel Becker
Consulting Software Developer
Oracle
E-mail: [email protected]
Phone: (650) 506-8127

_______________________________________________
Ocfs2-devel mailing list
[email protected]
http://oss.oracle.com/mailman/listinfo/ocfs2-devel

Reply via email to