lkml.org 
[lkml]   [2011]   [May]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v3 3/3] mm: Wait for writeback when grabbing pages to begin a write
    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);


    \
     
     \ /
      Last update: 2011-05-04 20:51    [W:0.043 / U:0.240 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site