VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / fs / jfs / symlink.c
index 6e028d9..ef4c07e 100644 (file)
  */
 
 #include <linux/fs.h>
+#include <linux/namei.h>
 #include "jfs_incore.h"
 #include "jfs_xattr.h"
 
 static int jfs_follow_link(struct dentry *dentry, struct nameidata *nd)
 {
        char *s = JFS_IP(dentry->d_inode)->i_inline;
-       return vfs_follow_link(nd, s);
-}
-
-static int jfs_readlink(struct dentry *dentry, char __user *buffer, int buflen)
-{
-       char *s = JFS_IP(dentry->d_inode)->i_inline;
-       return vfs_readlink(dentry, buffer, buflen, s);
+       nd_set_link(nd, s);
+       return 0;
 }
 
 struct inode_operations jfs_symlink_inode_operations = {
-       .readlink       = jfs_readlink,
+       .readlink       = generic_readlink,
        .follow_link    = jfs_follow_link,
        .setxattr       = jfs_setxattr,
        .getxattr       = jfs_getxattr,