]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
kclient: slight cleanup of do_lookup ENOENT handler
authorSage Weil <sage@newdream.net>
Wed, 7 May 2008 18:29:15 +0000 (11:29 -0700)
committerSage Weil <sage@newdream.net>
Wed, 7 May 2008 19:38:28 +0000 (12:38 -0700)
src/kernel/dir.c

index 0f7d3c8fb54a2fd86911ce3d1349d18cb78e7bf9..b43f3aef4bbecbae37df76df426d7afcf94df87f 100644 (file)
@@ -270,9 +270,10 @@ struct dentry *ceph_do_lookup(struct super_block *sb, struct dentry *dentry,
                             dentry, dentry->d_inode);
                        ceph_init_dentry(dentry);
                        if (dentry->d_inode) {
+                               d_drop(dentry);
                                req->r_last_dentry = d_alloc(dentry->d_parent,
                                                             &dentry->d_name);
-                               d_drop(dentry);
+                               d_rehash(req->r_last_dentry);
                        } else
                                d_add(dentry, NULL);
                }