VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / fs / sysv / symlink.c
index 97ea761..ed637db 100644 (file)
@@ -6,20 +6,15 @@
  */
 
 #include "sysv.h"
-
-static int sysv_readlink(struct dentry *dentry, char *buffer, int buflen)
-{
-       char *s = (char *)SYSV_I(dentry->d_inode)->i_data;
-       return vfs_readlink(dentry, buffer, buflen, s);
-}
+#include <linux/namei.h>
 
 static int sysv_follow_link(struct dentry *dentry, struct nameidata *nd)
 {
-       char *s = (char *)SYSV_I(dentry->d_inode)->i_data;
-       return vfs_follow_link(nd, s);
+       nd_set_link(nd, (char *)SYSV_I(dentry->d_inode)->i_data);
+       return 0;
 }
 
 struct inode_operations sysv_fast_symlink_inode_operations = {
-       .readlink       = sysv_readlink,
+       .readlink       = generic_readlink,
        .follow_link    = sysv_follow_link,
 };