lkml.org 
[lkml]   [2006]   [Jun]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 2/5] vfs: d_genocide() doesnt add dentries to unused list
    Calling d_genocide() is only lowering the reference count of the dentries but
    doesn't add them to the unused list.

    Signed-off-by: Jan Blunck <jblunck@suse.de>
    ---
    fs/dcache.c | 18 ++++++++++++++++--
    1 file changed, 16 insertions(+), 2 deletions(-)

    Index: work-2.6/fs/dcache.c
    ===================================================================
    --- work-2.6.orig/fs/dcache.c
    +++ work-2.6/fs/dcache.c
    @@ -1612,11 +1612,25 @@ resume:
    this_parent = dentry;
    goto repeat;
    }
    - atomic_dec(&dentry->d_count);
    + if (!list_empty(&dentry->d_lru)) {
    + dentry_stat.nr_unused--;
    + list_del_init(&dentry->d_lru);
    + }
    + if (atomic_dec_and_test(&dentry->d_count)) {
    + list_add(&dentry->d_lru, dentry_unused.prev);
    + dentry_stat.nr_unused++;
    + }
    }
    if (this_parent != root) {
    next = this_parent->d_u.d_child.next;
    - atomic_dec(&this_parent->d_count);
    + if (!list_empty(&this_parent->d_lru)) {
    + dentry_stat.nr_unused--;
    + list_del_init(&this_parent->d_lru);
    + }
    + if (atomic_dec_and_test(&this_parent->d_count)) {
    + list_add(&this_parent->d_lru, dentry_unused.prev);
    + dentry_stat.nr_unused++;
    + }
    this_parent = this_parent->d_parent;
    goto resume;
    }
    -
    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-06-16 20:46    [W:0.019 / U:63.860 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site