Re: 2.6.19 file content corruption on ext3

From: Linus Torvalds
Date: Sun Dec 17 2006 - 20:05:48 EST




On Sun, 17 Dec 2006, Andrew Morton wrote:
>
> So this patch instead arranges for clear_page_dirty() to not clean the pte's
> when it is called on the try_to_free_buffers() path.

No. This is wrong.

It's wrong exactly because it now _breaks_ the whole thing that the 2.6.19
PG_dirty changes were all about: keeping track of dirty pages. Now you
have a page that is dirty, but it's no longer marked PG_dirty, and thus it
doesn't participate in the dirty accounting.

> From my quick reading, all callers of try_to_free_buffers() have already
> unmapped the page from pagetables, and given that the reported ext3 corruption
> happens on uniprocessor, non-preempt kernels, I doubt if this patch will fix
> things.

So not only are you breaking this, you also claim that it cannot happen in
the first place. So either the patch is buggy, or it's pointless. In
neither case does it seem to be a good idea to do.

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