Prev: perf/core enhancements and fixes
Next: acer-wmi: fix memory leaks in WMID_set_capabilities and get_wmid_devices
From: Joel Becker on 6 Jul 2010 03:20 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: joel.becker(a)oracle.com Phone: (650) 506-8127 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Joel Becker on 6 Jul 2010 03:20
On Mon, Jul 05, 2010 at 09:38:42AM +0800, Tao Ma wrote: > btw, do we ever have a chance that start + wc->w_num_pages > > end_index? I can't find it. Of course. If you have a 1MB clustersize, w_num_pages will be 256. But if you are only writing the first page of the cluster, end_index is only 1. Joel -- "If you took all of the grains of sand in the world, and lined them up end to end in a row, you'd be working for the government!" - Mr. Interesting Joel Becker Consulting Software Developer Oracle E-mail: joel.becker(a)oracle.com Phone: (650) 506-8127 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |