Re: 2.6.4-mm2

From: Andrew Morton
Date: Tue Mar 16 2004 - 18:41:03 EST


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.

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