From: Sage Weil Date: Sat, 21 Jun 2008 15:13:56 +0000 (-0700) Subject: kclient: ensure materialised dentry is hashed X-Git-Tag: v0.3~49 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f2f3c276206a65d1601d3fda4225fd3d39f3ead1;p=ceph.git kclient: ensure materialised dentry is hashed --- diff --git a/src/kernel/inode.c b/src/kernel/inode.c index 0ce3bbb09a1e..430086343713 100644 --- a/src/kernel/inode.c +++ b/src/kernel/inode.c @@ -822,6 +822,8 @@ int ceph_fill_trace(struct super_block *sb, struct ceph_mds_request *req, } else dout(10, "dn %p attached to %p ino %llx\n", dn, dn->d_inode, ceph_ino(dn->d_inode)); + if (d_unhashed(dn)) + d_rehash(dn); } BUG_ON(d_unhashed(dn)); BUG_ON(dn->d_parent != parent); diff --git a/src/kernel/super.c b/src/kernel/super.c index 186d61dd34bd..09a25aa479c1 100644 --- a/src/kernel/super.c +++ b/src/kernel/super.c @@ -993,8 +993,8 @@ out_kobj: #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) kobject_put(ceph_kobj); ceph_kobj = 0; -#endif out: +#endif return ret; }