Re: 1352 NUL bytes at the end of a page? (was Re: Assertion `s && s->tree' failed: The saga continues.)

Steven Cole
2004-05-17T21:09:24Z

On Mon, 2004-05-17 at 14:24, Chris Mason wrote:
> On Mon, 2004-05-17 at 11:23, Chris Mason wrote:
>
> > You've described it correctly for reiserfs though, we unlock the page
> > too soon. I'll fix the page locking for reiserfs_file_write. Steven,
> > we need to figure out why you're seeing this on ext3.
>
> Steven, could you give this a try as well? It is against 2.6.6-mm3, but
> should work against vanilla too:
>
> reiserfs_file_write unlocks the pages it operated on before updating
> i_size. This can lead to races with writepage, who checks i_size when
> deciding how much of the file to zero out.
>
> This patch also replaces SetPageReferenced with mark_page_accessed() in
> reiserfs_file_write
>
> Index: linux.mm/fs/reiserfs/file.c

OK, my plan is to do this:

1) Apply your patch to 2.6.6-current, build with PREEMPT
2) Test bk pull via ppp on reiserfs until and if it breaks.
3) Test bk pull via ppp on ext3 and take a look at the s.ChangeSet file
if/when the failure occurs.
4) Apply akpm's patch here:
http://marc.theaimsgroup.com/?l=linux-kernel&m=108478018304305&w=2
5) Repeat 2,3

Here I'm defining 2.6.6-current as what was current at around midnight
last night. I'll keep that source tree as a constant.

I'll post the results either late tonight or tomorrow.

Steven