Re: 2.6.19 file content corruption on ext3





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/



Relevant Pages

  • Re: [PATCH] dma-debug: disable DMA_API_DEBUG for now
    ... Subject: [PATCH] dma-debug: change hash_bucket_find from first-fit to best-fit ... Without an IOMMU this results in the same dma address being ... DMA-API: device driver frees DMA sg list with different entry count ... If the wrong entry gets returned on unmap, this can trigger bogus warnings about ...
    (Linux-Kernel)
  • [PATCH] 2/4 move all invalidate_page outside of PT lock (#v9 was 1/4)
    ... This below simple patch invalidates the "invalidate_page" part, ... Then in .26 we'll modify the semantics of the API to be blocking ... pte_unmap_unlock(pte, ptl); ... update_mmu_cache(vma, address, entry); ...
    (Linux-Kernel)
  • Re: Dont you just love writing this sort of thing :)
    ... os.path.join(PatchesDir, Entry), "r") ... read from Patch ... ... PatchDatePat.searchreturns a false value (0, empty string, empty list, ... assumptions about the sort of object the search method can return. ...
    (comp.lang.python)
  • Re: [Bug #13339] rtable leak in ipv4/route.c
    ... The following bug entry is on the current list of known regressions ... patch has introduced flexible route cache rebuilding. ...
    (Linux-Kernel)
  • Re: [Bug #13339] rtable leak in ipv4/route.c
    ... The following bug entry is on the current list of known regressions ... patch has introduced flexible route cache rebuilding. ...
    (Linux-Kernel)