Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / fs / sysv / symlink.c
index 97ea761..b85ce61 100644 (file)
@@ -6,20 +6,15 @@
  */
 
 #include "sysv.h"
+#include <linux/namei.h>
 
-static int sysv_readlink(struct dentry *dentry, char *buffer, int buflen)
+static void *sysv_follow_link(struct dentry *dentry, struct nameidata *nd)
 {
-       char *s = (char *)SYSV_I(dentry->d_inode)->i_data;
-       return vfs_readlink(dentry, buffer, buflen, s);
-}
-
-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 NULL;
 }
 
 struct inode_operations sysv_fast_symlink_inode_operations = {
-       .readlink       = sysv_readlink,
+       .readlink       = generic_readlink,
        .follow_link    = sysv_follow_link,
 };