aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/symlink.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-06-25 13:54:14 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-25 13:54:14 -0400
commit1d77062b1402aef5b26e1d3776991126e8026bde (patch)
tree96e4da18878f5fb2ae50b260e194b78803d4c7a9 /fs/nfs/symlink.c
parent25581ad107be24b89d805da51a03d616f8f3d1be (diff)
parent76a9f26c9e40e9c0ed5dc8f0cedd74e733f0088d (diff)
Merge git://git.linux-nfs.org/pub/linux/nfs-2.6
* git://git.linux-nfs.org/pub/linux/nfs-2.6: (51 commits) nfs: remove nfs_put_link() nfs-build-fix-99 git-nfs-build-fixes Merge branch 'odirect' NFS: alloc nfs_read/write_data as direct I/O is scheduled NFS: Eliminate nfs_get_user_pages() NFS: refactor nfs_direct_free_user_pages NFS: remove user_addr, user_count, and pos from nfs_direct_req NFS: "open code" the NFS direct write rescheduler NFS: Separate functions for counting outstanding NFS direct I/Os NLM: Fix reclaim races NLM: sem to mutex conversion locks.c: add the fl_owner to nlm_compare_locks NFS: Display the chosen RPCSEC_GSS security flavour in /proc/mounts NFS: Split fs/nfs/inode.c NFS: Fix typo in nfs_do_clone_mount() NFS: Fix compile errors introduced by referrals patches NFSv4: Ensure that referral mounts bind to a reserved port NFSv4: A root pathname is sent as a zero component4 NFSv4: Follow a referral ...
Diffstat (limited to 'fs/nfs/symlink.c')
-rw-r--r--fs/nfs/symlink.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/fs/nfs/symlink.c b/fs/nfs/symlink.c
index 18dc95b0b646..600bbe630abd 100644
--- a/fs/nfs/symlink.c
+++ b/fs/nfs/symlink.c
@@ -52,7 +52,7 @@ static void *nfs_follow_link(struct dentry *dentry, struct nameidata *nd)
52{ 52{
53 struct inode *inode = dentry->d_inode; 53 struct inode *inode = dentry->d_inode;
54 struct page *page; 54 struct page *page;
55 void *err = ERR_PTR(nfs_revalidate_inode(NFS_SERVER(inode), inode)); 55 void *err = ERR_PTR(nfs_revalidate_mapping(inode, inode->i_mapping));
56 if (err) 56 if (err)
57 goto read_failed; 57 goto read_failed;
58 page = read_cache_page(&inode->i_data, 0, 58 page = read_cache_page(&inode->i_data, 0,
@@ -75,22 +75,13 @@ read_failed:
75 return NULL; 75 return NULL;
76} 76}
77 77
78static void nfs_put_link(struct dentry *dentry, struct nameidata *nd, void *cookie)
79{
80 if (cookie) {
81 struct page *page = cookie;
82 kunmap(page);
83 page_cache_release(page);
84 }
85}
86
87/* 78/*
88 * symlinks can't do much... 79 * symlinks can't do much...
89 */ 80 */
90struct inode_operations nfs_symlink_inode_operations = { 81struct inode_operations nfs_symlink_inode_operations = {
91 .readlink = generic_readlink, 82 .readlink = generic_readlink,
92 .follow_link = nfs_follow_link, 83 .follow_link = nfs_follow_link,
93 .put_link = nfs_put_link, 84 .put_link = page_put_link,
94 .getattr = nfs_getattr, 85 .getattr = nfs_getattr,
95 .setattr = nfs_setattr, 86 .setattr = nfs_setattr,
96}; 87};