summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2009-04-05 20:18:58 -0700
committerSage Weil <sage@newdream.net>2009-04-05 20:18:58 -0700
commitafbc8eaae227cfa65dce4f56ee0c71ff48af0af9 (patch)
treeefac8b0088299ebb4e5b3c3a511f7fb30c5cafd6
parent9892183acf4ae2d4180313159f71dd0a4feca212 (diff)
downloadceph-afbc8eaae227cfa65dce4f56ee0c71ff48af0af9.tar.gz
kclient: d_alloc_anon on older kernels
-rw-r--r--src/kernel/super.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/kernel/super.c b/src/kernel/super.c
index aca5cb9342c..f21f2c63270 100644
--- a/src/kernel/super.c
+++ b/src/kernel/super.c
@@ -781,7 +781,11 @@ static struct dentry *open_root_dentry(struct ceph_client *client,
client->sb->s_root == NULL)
root = d_alloc_root(req->r_target_inode);
else
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)
root = d_obtain_alias(req->r_target_inode);
+#else
+ root = d_alloc_anon(req->r_target_inode);
+#endif
req->r_target_inode = NULL;
dout(30, "open_root_inode success, root dentry is %p\n", root);
} else {