提交 ac194dcc 编写于 作者: A Al Viro

ceph: switch to simple_follow_link()

Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
上级 a5ef103d
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
#include <linux/string.h> #include <linux/string.h>
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/namei.h>
#include <linux/writeback.h> #include <linux/writeback.h>
#include <linux/vmalloc.h> #include <linux/vmalloc.h>
#include <linux/posix_acl.h> #include <linux/posix_acl.h>
...@@ -819,6 +818,7 @@ static int fill_inode(struct inode *inode, struct page *locked_page, ...@@ -819,6 +818,7 @@ static int fill_inode(struct inode *inode, struct page *locked_page,
else else
kfree(sym); /* lost a race */ kfree(sym); /* lost a race */
} }
inode->i_link = ci->i_symlink;
break; break;
case S_IFDIR: case S_IFDIR:
inode->i_op = &ceph_dir_iops; inode->i_op = &ceph_dir_iops;
...@@ -1691,16 +1691,9 @@ void __ceph_do_pending_vmtruncate(struct inode *inode) ...@@ -1691,16 +1691,9 @@ void __ceph_do_pending_vmtruncate(struct inode *inode)
/* /*
* symlinks * symlinks
*/ */
static void *ceph_sym_follow_link(struct dentry *dentry, struct nameidata *nd)
{
struct ceph_inode_info *ci = ceph_inode(d_inode(dentry));
nd_set_link(nd, ci->i_symlink);
return NULL;
}
static const struct inode_operations ceph_symlink_iops = { static const struct inode_operations ceph_symlink_iops = {
.readlink = generic_readlink, .readlink = generic_readlink,
.follow_link = ceph_sym_follow_link, .follow_link = simple_follow_link,
.setattr = ceph_setattr, .setattr = ceph_setattr,
.getattr = ceph_getattr, .getattr = ceph_getattr,
.setxattr = ceph_setxattr, .setxattr = ceph_setxattr,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册