(4/9) symlink patchkit (against -bk current)
Subsystems (2)
PATCH 1/1 (4/9) symlink patchkit (against -bk current)
cases that can simply reuse ext2 helpers (page_follow_link_light()
and page_put_link()).
fs/affs/symlink.c +3 -2
@@ -78,7 +78,8 @@ };struct inode_operations affs_symlink_inode_operations = { - .readlink = page_readlink, - .follow_link = page_follow_link, + .readlink = generic_readlink, + .follow_link = page_follow_link_light, + .put_link = page_put_link, .setattr = affs_notify_change, };
fs/coda/cnode.c +3 -2
@@ -17,8 +17,9 @@ }static struct inode_operations coda_symlink_inode_operations = { - .readlink = page_readlink, - .follow_link = page_follow_link, + .readlink = generic_readlink, + .follow_link = page_follow_link_light, + .put_link = page_put_link, .setattr = coda_setattr, };
fs/ext3/symlink.c +8 -12
@@ -20,24 +20,20 @@#include <linux/fs.h> #include <linux/jbd.h> #include <linux/ext3_fs.h> +#include <linux/namei.h> #include "xattr.h" -static int -ext3_readlink (struct dentry *dentry,char __user *buffer,int buflen) -{ -struct ext3_inode_info *ei =EXT3_I (dentry->d_inode); -return vfs_readlink (dentry, buffer, buflen, (char *)ei->i_data); -} -static int ext3_follow_link (struct dentry *dentry,struct nameidata *nd) {struct ext3_inode_info *ei =EXT3_I (dentry->d_inode); -return vfs_follow_link (nd, (char *)ei->i_data); +nd_set_link (nd, (char *)ei->i_data); +return 0 ; }struct inode_operations ext3_symlink_inode_operations = { - .readlink = page_readlink, - .follow_link = page_follow_link, + .readlink = generic_readlink, + .follow_link = page_follow_link_light, + .put_link = page_put_link, .setxattr = ext3_setxattr, .getxattr = ext3_getxattr, .listxattr = ext3_listxattr,
@@ -45,8 +41,8 @@ };struct inode_operations ext3_fast_symlink_inode_operations = { - .readlink = ext3_readlink,/* BKL not held. Don't need */ - .follow_link = ext3_follow_link,/* BKL not held. Don't need */ + .readlink = generic_readlink, + .follow_link = ext3_follow_link, .setxattr = ext3_setxattr, .getxattr = ext3_getxattr, .listxattr = ext3_listxattr,
fs/minix/inode.c +3 -2
@@ -343,8 +343,9 @@ };static struct inode_operations minix_symlink_inode_operations = { - .readlink = page_readlink, - .follow_link = page_follow_link, + .readlink = generic_readlink, + .follow_link = page_follow_link_light, + .put_link = page_put_link, .getattr = minix_getattr, };
fs/reiserfs/namei.c +3 -2
@@ -1389,8 +1389,9 @@* stuff added */ struct inode_operations reiserfs_symlink_inode_operations = { - .readlink = page_readlink, - .follow_link = page_follow_link, + .readlink = generic_readlink, + .follow_link = page_follow_link_light, + .put_link = page_put_link, .setattr = reiserfs_setattr, .setxattr = reiserfs_setxattr, .getxattr = reiserfs_getxattr,
fs/sysv/inode.c +3 -2
@@ -142,8 +142,9 @@ }static struct inode_operations sysv_symlink_inode_operations = { - .readlink = page_readlink, - .follow_link = page_follow_link, + .readlink = generic_readlink, + .follow_link = page_follow_link_light, + .put_link = page_put_link, .getattr = sysv_getattr, };