lkml.org 
[lkml]   [2014]   [Feb]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 11/12] vfs: Remove d_drop calls from d_revalidate implementations

    Now that d_invalidate always succeeds it is not longer necessary or
    desirable to hard code d_drop calls into filesystem specific
    d_revalidate implementations.

    Remove the unnecessary d_drop calls and rely on d_invalidate
    to drop the dentries. Using d_invalidate ensures that paths
    to mount points will not be dropped.

    Reviewed-by: Miklos Szeredi <miklos@szeredi.hu>
    Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
    ---
    fs/ceph/dir.c | 1 -
    fs/proc/base.c | 4 ----
    fs/proc/fd.c | 2 --
    3 files changed, 0 insertions(+), 7 deletions(-)

    diff --git a/fs/ceph/dir.c b/fs/ceph/dir.c
    index 6da4df84ba30..ecd2402739e2 100644
    --- a/fs/ceph/dir.c
    +++ b/fs/ceph/dir.c
    @@ -1052,7 +1052,6 @@ static int ceph_d_revalidate(struct dentry *dentry, unsigned int flags)
    ceph_dentry_lru_touch(dentry);
    } else {
    ceph_dir_clear_complete(dir);
    - d_drop(dentry);
    }
    iput(dir);
    return valid;
    diff --git a/fs/proc/base.c b/fs/proc/base.c
    index 51507065263b..aa62b37f1303 100644
    --- a/fs/proc/base.c
    +++ b/fs/proc/base.c
    @@ -1654,7 +1654,6 @@ int pid_revalidate(struct dentry *dentry, unsigned int flags)
    put_task_struct(task);
    return 1;
    }
    - d_drop(dentry);
    return 0;
    }

    @@ -1791,9 +1790,6 @@ out:
    put_task_struct(task);

    out_notask:
    - if (status <= 0)
    - d_drop(dentry);
    -
    return status;
    }

    diff --git a/fs/proc/fd.c b/fs/proc/fd.c
    index 985ea881b5bc..7e4f04ccab31 100644
    --- a/fs/proc/fd.c
    +++ b/fs/proc/fd.c
    @@ -127,8 +127,6 @@ static int tid_fd_revalidate(struct dentry *dentry, unsigned int flags)
    }
    put_task_struct(task);
    }
    -
    - d_drop(dentry);
    return 0;
    }

    --
    1.7.5.4


    \
     
     \ /
      Last update: 2014-02-25 12:01    [W:2.500 / U:0.612 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site