Re: 2.6.19 file content corruption on ext3

From: Linus Torvalds
Date: Mon Dec 18 2006 - 14:20:23 EST




On Mon, 18 Dec 2006, Andrei Popa wrote:
>
> I applied Linus patch, Andrew patch, Peter Zijlstra patches(the last
> two). All unified patch is attached. I tested and I have no corruption.

That wasn't very interesting, because you also had the patch that just
disabled "page_mkclean_one()" entirely:

> diff --git a/mm/rmap.c b/mm/rmap.c
> index d8a842a..3f9061e 100644
> --- a/mm/rmap.c
> +++ b/mm/rmap.c
> @@ -448,7 +448,7 @@ static int page_mkclean_one(struct page
> goto unlock;
>
> entry = ptep_get_and_clear(mm, address, pte);
> - entry = pte_mkclean(entry);
> + /*entry = pte_mkclean(entry);*/
> entry = pte_wrprotect(entry);
> ptep_establish(vma, address, pte, entry);
> lazy_mmu_prot_update(entry);

The above patch is bad. It's always going to hide the bug, but it hides it
by just not doing anything at all. So any patch combination that contains
that patch will probably _always_ fix your problem, but it won't be an
interesting patch..

So can you remove that small fragment? Also, it would be nice if you added
the WARN_ON() to this sequence in mm/page-writeback.c:

+ if (!must_clean_ptes && cleaned)
+ set_page_dirty(page);

just make it do a WARN_ON() if this ever triggers.

Then, IF the corruption is gone, we'd love to see the WARN_ON results..

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/