aboutsummaryrefslogtreecommitdiff
path: root/fs/nfs/delegation.c
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2005-10-22 16:51:34 +1000
committerPaul Mackerras <paulus@samba.org>2005-10-22 16:51:34 +1000
commit985990137e81ca9fd6561cd0f7d1a9695ec57d5a (patch)
tree7a67493285623a7356ba7065cada6728993d1a3b /fs/nfs/delegation.c
parent834289447542b7ec55c0847486616d4d53ddf891 (diff)
parent63172cb3d5ef762dcb60a292bc7f016b85cf6e1f (diff)
Merge changes from linux-2.6 by hand
Diffstat (limited to 'fs/nfs/delegation.c')
-rw-r--r--fs/nfs/delegation.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/nfs/delegation.c b/fs/nfs/delegation.c
index d7f7eb669d0..4a36839f0bb 100644
--- a/fs/nfs/delegation.c
+++ b/fs/nfs/delegation.c
@@ -85,6 +85,10 @@ int nfs_inode_set_delegation(struct inode *inode, struct rpc_cred *cred, struct
struct nfs_delegation *delegation;
int status = 0;
+ /* Ensure we first revalidate the attributes and page cache! */
+ if ((nfsi->cache_validity & (NFS_INO_REVAL_PAGECACHE|NFS_INO_INVALID_ATTR)))
+ __nfs_revalidate_inode(NFS_SERVER(inode), inode);
+
delegation = nfs_alloc_delegation();
if (delegation == NULL)
return -ENOMEM;