diff options
Diffstat (limited to 'fs/ufs/symlink.c')
| -rw-r--r-- | fs/ufs/symlink.c | 19 |
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, }; |
