Re: 2.6.4-mm2

From: Daniel McNeil
Date: Tue Mar 16 2004 - 19:12:15 EST


On Tue, 2004-03-16 at 15:39, Andrew Morton wrote:
> Andrew Morton <akpm@xxxxxxxx> wrote:
> >
> > Andrew Morton <akpm@xxxxxxxx> wrote:
> > >
> > > I'm thinking that the right thing to do here is to change submit_bh()
> > > callers and ll_rw_block() to run set_page_writeback(bh->b_page) when they
> > > start the buffer writeout and to do the run-around-the-buffer_heads thing
> > > at I/O completion.
> >
> > A page may have a mix of writeback and dirty+non-writeback buffers. It
> > appears that the page-level writeback code will handle this correctly. But
> > it requires that the page lock be held when we run set_page_writeback(), so
> > that tears that. hmm.
>
> I'll work this out yet.
>
> We change the PageWriteback() predicate to go in and see if any of the
> buffer_heads are under I/O too. And we change wait_on_page_writeback() to
> also wait on any buffer_heads.
>
> That means two new silly address_space ops. Or a new page flag which means
> "the thing at ->private is buffer_heads". Probably the latter.


If buffer_heads are in flight and a SYNC_NONE writeback happens,
will checking the buffer_heads cause to writeback to block?

Daniel

-
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/