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 / ext2 / symlink.c
index 4680ea7..f86ceeb 100644 (file)
 #include "xattr.h"
 #include <linux/namei.h>
 
-static int ext2_follow_link(struct dentry *dentry, struct nameidata *nd)
+static void *ext2_follow_link(struct dentry *dentry, struct nameidata *nd)
 {
        struct ext2_inode_info *ei = EXT2_I(dentry->d_inode);
        nd_set_link(nd, (char *)ei->i_data);
-       return 0;
+       return NULL;
 }
 
 struct inode_operations ext2_symlink_inode_operations = {
        .readlink       = generic_readlink,
        .follow_link    = page_follow_link_light,
        .put_link       = page_put_link,
-       .setxattr       = ext2_setxattr,
-       .getxattr       = ext2_getxattr,
+#ifdef CONFIG_EXT2_FS_XATTR
+       .setxattr       = generic_setxattr,
+       .getxattr       = generic_getxattr,
        .listxattr      = ext2_listxattr,
-       .removexattr    = ext2_removexattr,
+       .removexattr    = generic_removexattr,
+#endif
+       .sync_flags     = ext2_sync_flags,
 };
  
 struct inode_operations ext2_fast_symlink_inode_operations = {
        .readlink       = generic_readlink,
        .follow_link    = ext2_follow_link,
-       .setxattr       = ext2_setxattr,
-       .getxattr       = ext2_getxattr,
+#ifdef CONFIG_EXT2_FS_XATTR
+       .setxattr       = generic_setxattr,
+       .getxattr       = generic_getxattr,
        .listxattr      = ext2_listxattr,
-       .removexattr    = ext2_removexattr,
+       .removexattr    = generic_removexattr,
+#endif
+       .sync_flags     = ext2_sync_flags,
 };