Re: Ok, explained.. (was Re: [PATCH] mm: fix page_mkclean_one)

From: Theodore Tso
Date: Fri Dec 29 2006 - 10:29:11 EST


On Fri, Dec 29, 2006 at 12:58:12AM -0800, Linus Torvalds wrote:
> Because what "__set_page_dirty_buffers()" does is that AT THE TIME THE
> "set_page_dirty()" IS CALLED, it will mark all the buffers on that page as
> dirty. That may _sound_ like what we want, but it really isn't. Because by
> the time "writepage()" is actually called (which can be MUCH MUCH later),
> some internal filesystem activity may actually have cleaned one or more of
> those buffers in the meantime, and now we call "writepage()" (which really
> wants to write them _all_), and it will write only part of them, or none
> at all.

I'm confused. Does this mean that if "fs blocksize"=="VM pagesize"
this bug can't trigger? But I thought at least one of people
reporting corruption was using a filesystem with a 4k block size on an
i386?

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