xfs
[Top] [All Lists]

Re: TAKE - Corruption fix.

To: linux-xfs@xxxxxxxxxxx
Subject: Re: TAKE - Corruption fix.
From: Russell Cattelan <cattelan@xxxxxxxxxxx>
Date: Fri, 12 May 2000 15:15:35 -0500
References: <200005121849.NAA42742@nt8.americas.sgi.com> <391C55AE.AA03EBAA@sgi.com>
Sender: owner-linux-xfs@xxxxxxxxxxx
Rajagopal Ananthanarayanan wrote:

> Russell Cattelan wrote:
> >
> > Modid:  2.3.99pre2-xfs:slinx:61503a
> > Date:  Fri May 12 11:49:04 PDT 2000
> > Workarea:  nt8.americas.sgi.com:/data/clink/io/cattelan/x2.3-99-xfs
> > Author:  cattelan
> >
> > The following file(s) were checked into:
> >   bonnie.engr.sgi.com:/isms/slinx/2.3.99pre2-xfs
> >
> > linux/fs/page_buf.c - 1.92
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/> > 
linux/fs/page_buf.c.diff?r1=text&tr1=1.92&r2=text&tr2=1.91&f=h
> >         - Fix for file long outstanding file corruption.
> >           Need to set invalid bits on new page returned from grab_cache_page
> >           so prepare_file_write will know to read the page from disk
> >           if not on a page boundry.
> >           Also turn off delay alloc; it has problems in the same area
> >           and will currently cause file corruption.
>
> You may have something here. But grab_page_cache
> can return an existing page .. in which case
> you can't set blocks invalid. That would be
> equivalent to throwing away dirty pages.

yes... in fact I commented about that.
But given the io lock is held and pb_generic_write_file looks at the
hash first, the only time we should be calling grab_cache_page is when
a new pages is needed.

We need to look at what pg_lookup_pages does, and possibly implement
a pb_grab_cache_page.

Also the delay alloc code needs to be looked at since it seems to
looking at the vaild bits wrong. It appears to assume a page is
Valid when is it allocated which is true because we are
never setting it invalid. But the rest of the code works
the otherway around...


>
>
> --
> --------------------------------------------------------------------------
> Rajagopal Ananthanarayanan ("ananth")
> Member Technical Staff, SGI.
> --------------------------------------------------------------------------


<Prev in Thread] Current Thread [Next in Thread>