Message ID | 20110504174227.GH20579@tux1.beaverton.ibm.com |
---|---|
State | Not Applicable, archived |
Headers | show |
On Wed, May 04, 2011 at 10:42:27AM -0700, Darrick J. Wong wrote: > When grabbing a page for a buffered IO write, the mm should wait for writeback > on the page to complete so that the page does not become writable during the IO > operation. > > Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> > --- > > mm/filemap.c | 5 ++++- > 1 files changed, 4 insertions(+), 1 deletions(-) > > diff --git a/mm/filemap.c b/mm/filemap.c > index c641edf..c22675f 100644 > --- a/mm/filemap.c > +++ b/mm/filemap.c > @@ -2287,8 +2287,10 @@ struct page *grab_cache_page_write_begin(struct address_space *mapping, > gfp_notmask = __GFP_FS; > repeat: > page = find_lock_page(mapping, index); > - if (page) > + if (page) { > + wait_on_page_writeback(page); > return page; > + } goto found; > > page = __page_cache_alloc(mapping_gfp_mask(mapping) & ~gfp_notmask); > if (!page) > @@ -2301,6 +2303,7 @@ repeat: > goto repeat; > return NULL; > } found: > + wait_on_page_writeback(page); > return page; > } > EXPORT_SYMBOL(grab_cache_page_write_begin); -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/mm/filemap.c b/mm/filemap.c index c641edf..c22675f 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -2287,8 +2287,10 @@ struct page *grab_cache_page_write_begin(struct address_space *mapping, gfp_notmask = __GFP_FS; repeat: page = find_lock_page(mapping, index); - if (page) + if (page) { + wait_on_page_writeback(page); return page; + } page = __page_cache_alloc(mapping_gfp_mask(mapping) & ~gfp_notmask); if (!page) @@ -2301,6 +2303,7 @@ repeat: goto repeat; return NULL; } + wait_on_page_writeback(page); return page; } EXPORT_SYMBOL(grab_cache_page_write_begin);
When grabbing a page for a buffered IO write, the mm should wait for writeback on the page to complete so that the page does not become writable during the IO operation. Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> --- mm/filemap.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html