Merge branch 'work.symlinks' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull vfs RCU symlink updates from Al Viro: "Replacement of ->follow_link/->put_link, allowing to stay in RCU mode even if the symlink is not an embedded one. No changes since the mailbomb on Jan 1" * 'work.symlinks' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: switch ->get_link() to delayed_call, kill ->put_link() kill free_page_put_link() teach nfs_get_link() to work in RCU mode teach proc_self_get_link()/proc_thread_self_get_link() to work in RCU mode teach shmem_get_link() to work in RCU mode teach page_get_link() to work in RCU mode replace ->follow_link() with new method that could stay in RCU mode don't put symlink bodies in pagecache into highmem namei: page_getlink() and page_follow_link_light() are the same thing ufs: get rid of ->setattr() for symlinks udf: don't duplicate page_symlink_inode_operations logfs: don't duplicate page_symlink_inode_operations switch befs long symlinks to page_symlink_operations
This commit is contained in:
@@ -361,6 +361,7 @@ void ocfs2_populate_inode(struct inode *inode, struct ocfs2_dinode *fe,
|
||||
break;
|
||||
case S_IFLNK:
|
||||
inode->i_op = &ocfs2_symlink_inode_operations;
|
||||
inode_nohighmem(inode);
|
||||
i_size_write(inode, le64_to_cpu(fe->i_size));
|
||||
break;
|
||||
default:
|
||||
|
||||
@@ -1958,6 +1958,7 @@ static int ocfs2_symlink(struct inode *dir,
|
||||
inode->i_rdev = 0;
|
||||
newsize = l - 1;
|
||||
inode->i_op = &ocfs2_symlink_inode_operations;
|
||||
inode_nohighmem(inode);
|
||||
if (l > ocfs2_fast_symlink_chars(sb)) {
|
||||
u32 offset = 0;
|
||||
|
||||
|
||||
+1
-2
@@ -88,8 +88,7 @@ const struct address_space_operations ocfs2_fast_symlink_aops = {
|
||||
|
||||
const struct inode_operations ocfs2_symlink_inode_operations = {
|
||||
.readlink = generic_readlink,
|
||||
.follow_link = page_follow_link_light,
|
||||
.put_link = page_put_link,
|
||||
.get_link = page_get_link,
|
||||
.getattr = ocfs2_getattr,
|
||||
.setattr = ocfs2_setattr,
|
||||
.setxattr = generic_setxattr,
|
||||
|
||||
Reference in New Issue
Block a user