lkml.org 
[lkml]   [2006]   [Dec]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRe: 2.6.19 file content corruption on ext3
    From
    Date
    On Mon, 2006-12-18 at 12:00 +0200, Andrei Popa wrote:
    > On Mon, 2006-12-18 at 01:38 -0800, Andrew Morton wrote:
    > > On Mon, 18 Dec 2006 11:19:04 +0200
    > > Andrei Popa <andrei.popa@i-neo.ro> wrote:
    > >
    > > >
    > > > I tried latest git with the patch from this email and it still get file
    > > > content corruption. If I can help you further debug the problem tell me
    > > > what to do.
    > >
    > > Can you please tell us all the steps which we need to take to reproduce this?
    >
    > I'm using rtorrent-0.7.0 and libtorrent-0.11.0, just download a torrent
    > with multiple files(I downloaded 84 rar files) and when it will finish
    > it will do a hash check and at the end of the check will say "Hash check
    > on download completion found bad chunks, consider using "safe_sync"."
    > and stop and most of the downloaded files are broken. With Peter
    > Zijlstra patch this error doesn't show but there is file
    > corruption(although less files are corrupted); afther the hash check,
    > rtorrent will download the bad chunks and do another hash check and all
    > files are ok.

    OK, I'll try this on a ext3 box. BTW, what data mode are you using ext3
    in?


    Also, for testings sake, could you give this a go:
    It's a total hack but I guess worth testing.

    ---
    mm/rmap.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    Index: linux-2.6-git/mm/rmap.c
    ===================================================================
    --- linux-2.6-git.orig/mm/rmap.c 2006-12-18 11:06:29.000000000 +0100
    +++ linux-2.6-git/mm/rmap.c 2006-12-18 11:07:16.000000000 +0100
    @@ -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);

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-12-18 11:17    [W:8.015 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site