lkml.org 
[lkml]   [2006]   [Nov]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [Devel] Re: [PATCH 2.6.19-rc3] VFS: per-sb dentry lru list
    On Wednesday November 1, dev@sw.ru wrote:
    > <<<< AFAICS, doing so you introduced a leak of anonymous dentries.
    >
    > d_alloc_anon() calls d_alloc() with parent == NULL, i.e. dentries have no parent
    > and are not linked to the sb->s_root...

    Yep, thanks.

    > BTW, looking at it, I found that s_anon field on super block is not
    > used any more.

    I don't know what you mean by that. It is still used...

    > we can add BUG_ON(!hlist_empty(&sb->s_anon)) in generic_shutdown_super to avoid such issues like this.
    >
    > maybe we can fix it adding something like:
    > while (!list_empty(&sb->s_anon)))
    > prune_dcache(MAX_INT, &sb->s_anon);

    It seems that anon dentries can now have children (I think someone
    explained that too me - shrink_dcache_for_umount certainly suggests
    it).
    Also, in this context we cannot be sure that all dentries can be
    freed. This is being called a remount time remember, and some stuff
    might still be in use.

    We probably need to move the s_anon list to a temporary list and
    repeatedly:
    move the top entry back to s_anon and call shrink_dcache_parent
    on it.

    Needs more thought.

    NeilBrown
    -
    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-11-14 05:55    [W:5.128 / U:0.080 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site