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>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
                ceph_dentry_lru_touch(dentry);
        } else {
                ceph_dir_clear_complete(dir);
-               d_drop(dentry);
        }
        iput(dir);
        return valid;
 
                put_task_struct(task);
                return 1;
        }
-       d_drop(dentry);
        return 0;
 }
 
        put_task_struct(task);
 
 out_notask:
-       if (status <= 0)
-               d_drop(dentry);
-
        return status;
 }
 
 
                }
                put_task_struct(task);
        }
-
-       d_drop(dentry);
        return 0;
 }