Re: [PATCH linux-2.6.0-test10-mm1] filemap_fdatawait.patch

From: Daniel McNeil
Date: Mon Jan 12 2004 - 14:49:43 EST


I just got a test failure also on 2.6.1-mm2 + patch also.
I took nearly 2 hours with 6 copies running to hit.

Daniel

On Mon, 2004-01-12 at 11:39, Janet Morgan wrote:
> Andrew Morton wrote:
>
> >Janet Morgan <janetmor@xxxxxxxxxx> 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;
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/