aboutsummaryrefslogtreecommitdiff
path: root/fs/ufs/symlink.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ufs/symlink.c')
-rw-r--r--fs/ufs/symlink.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/fs/ufs/symlink.c b/fs/ufs/symlink.c
index a0e49149098..d283628b477 100644
--- a/fs/ufs/symlink.c
+++ b/fs/ufs/symlink.c
@@ -27,16 +27,27 @@
#include <linux/fs.h>
#include <linux/namei.h>
-#include <linux/ufs_fs.h>
-static int ufs_follow_link(struct dentry *dentry, struct nameidata *nd)
+#include "ufs_fs.h"
+#include "ufs.h"
+
+
+static void *ufs_follow_link(struct dentry *dentry, struct nameidata *nd)
{
struct ufs_inode_info *p = UFS_I(dentry->d_inode);
nd_set_link(nd, (char*)p->i_u1.i_symlink);
- return 0;
+ return NULL;
}
-struct inode_operations ufs_fast_symlink_inode_operations = {
+const struct inode_operations ufs_fast_symlink_inode_operations = {
.readlink = generic_readlink,
.follow_link = ufs_follow_link,
+ .setattr = ufs_setattr,
+};
+
+const struct inode_operations ufs_symlink_inode_operations = {
+ .readlink = generic_readlink,
+ .follow_link = page_follow_link_light,
+ .put_link = page_put_link,
+ .setattr = ufs_setattr,
};