lkml.org 
[lkml]   [2006]   [Dec]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: 2.6.19 file content corruption on ext3

    [ Replying to myself - a sure sign that I don't get out enough ]

    On Sun, 17 Dec 2006, Linus Torvalds wrote:
    >
    > So I don't actually see any serialization at all that would keep a random
    > page from being paged back in.

    We do actually serialize, but we do it _after_ the page has already been
    mapped back. Ie we do it for the dirty page case at rthe end of
    do_wp_page() and do_no_page() when we do the "set_page_dirty_balance()",
    but that's potentially too late - we've already mapped the page read-write
    into the address space.

    That said, this means that only threaded apps should ever trigger any
    problems, which would seem to make it unlikely that this is the issue.

    But Andrew: I don't think it's necessarily true that
    "try_to_free_buffers()" callers have all unmapped the page.

    That seems to be true for vmscan.c (ie the shrink_page_list ->
    try_to_release_page -> try_to_release_buffers callchain), but what about
    the other callchains (through filesystems, or through "pagevec_strip()" or
    similar?) That pagevec_strip() is called from shrink_active_list(), I
    don't see that unmapping the pages..

    Linus
    -
    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: 2009-11-18 23:46    [W:0.020 / U:29.404 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site