lkml.org 
[lkml]   [2004]   [Jan]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH linux-2.6.0-test10-mm1] filemap_fdatawait.patch
    Andrew Morton wrote:

    >Janet Morgan <janetmor@us.ibm.com> wrote:
    >
    >> >diff -puN mm/filemap.c~a mm/filemap.c
    >> >--- 25/mm/filemap.c~a 2003-12-31 03:10:29.000000000 -0800
    >> >+++ 25-akpm/mm/filemap.c 2003-12-31 03:17:05.000000000 -0800
    >> >@@ -206,7 +206,13 @@ restart:
    >> > page_cache_get(page);
    >> > spin_unlock(&mapping->page_lock);
    >> >
    >> >- wait_on_page_writeback(page);
    >> >+ lock_page(page);
    >> >+ if (PageDirty(page) && mapping->a_ops->writepage) {
    >> >+ write_one_page(page, 1);
    >> >+ } else {
    >> >+ wait_on_page_writeback(page);
    >> >+ unlock_page(page);
    >> >+ }
    >> > if (PageError(page))
    >> > ret = -EIO;
    >> >
    >> >
    >> >
    >> >
    >> That fixed the problem! Stephen's testcase is running successfully on
    >> 2.6.1-mm1 plus your patch -- no more uninitialized data!
    >>
    >
    >Could you please test 2.6.1-mm2 with that patch? If that works, send the
    >patch back to me? (I lost it ;))
    >
    >
    I see uninitialized data when I test the patch (attached) on 2.6.1-mm2.
    Any thoughts on a next step?

    Thanks,
    -Janet
    diff -puN mm/filemap.c~a mm/filemap.c
    --- 25/mm/filemap.c~a 2003-12-31 03:10:29.000000000 -0800
    +++ 25-akpm/mm/filemap.c 2003-12-31 03:17:05.000000000 -0800
    @@ -209,7 +209,13 @@ restart:
    page_cache_get(page);
    spin_unlock(&mapping->page_lock);

    - wait_on_page_writeback(page);
    + lock_page(page);
    + if (PageDirty(page) && mapping->a_ops->writepage) {
    + write_one_page(page, 1);
    + } else {
    + wait_on_page_writeback(page);
    + unlock_page(page);
    + }
    if (PageError(page))
    ret = -EIO;

    \
     
     \ /
      Last update: 2005-03-22 14:00    [W:0.021 / U:2.412 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site