]> Pileus Git - ~andy/linux/blobdiff - fs/ceph/super.c
Merge branch 'samsung/board' into next/boards
[~andy/linux] / fs / ceph / super.c
index a90846fac759bd744620a8d87789e9a56db02c48..8dc73a594a90c11e31f20ef925104ea10e5b0b15 100644 (file)
@@ -638,10 +638,12 @@ static struct dentry *open_root_dentry(struct ceph_fs_client *fsc,
        if (err == 0) {
                dout("open_root_inode success\n");
                if (ceph_ino(req->r_target_inode) == CEPH_INO_ROOT &&
-                   fsc->sb->s_root == NULL)
+                   fsc->sb->s_root == NULL) {
                        root = d_alloc_root(req->r_target_inode);
-               else
+                       ceph_init_dentry(root);
+               } else {
                        root = d_obtain_alias(req->r_target_inode);
+               }
                req->r_target_inode = NULL;
                dout("open_root_inode success, root dentry is %p\n", root);
        } else {