diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/nfs/inode.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index 7fdaaf5869ce..d722a0e84361 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c | |||
@@ -912,18 +912,14 @@ int nfs_refresh_inode(struct inode *inode, struct nfs_fattr *fattr) | |||
912 | int nfs_post_op_update_inode(struct inode *inode, struct nfs_fattr *fattr) | 912 | int nfs_post_op_update_inode(struct inode *inode, struct nfs_fattr *fattr) |
913 | { | 913 | { |
914 | struct nfs_inode *nfsi = NFS_I(inode); | 914 | struct nfs_inode *nfsi = NFS_I(inode); |
915 | int status = 0; | ||
916 | 915 | ||
917 | if (unlikely((fattr->valid & NFS_ATTR_FATTR) == 0)) { | 916 | if (fattr->valid & NFS_ATTR_FATTR) |
918 | spin_lock(&inode->i_lock); | 917 | return nfs_refresh_inode(inode, fattr); |
919 | nfsi->cache_validity |= NFS_INO_INVALID_ACCESS|NFS_INO_INVALID_ATTR|NFS_INO_REVAL_PAGECACHE; | 918 | |
920 | nfsi->cache_change_attribute = jiffies; | 919 | spin_lock(&inode->i_lock); |
921 | spin_unlock(&inode->i_lock); | 920 | nfsi->cache_validity |= NFS_INO_INVALID_ACCESS|NFS_INO_INVALID_ATTR|NFS_INO_REVAL_PAGECACHE; |
922 | goto out; | 921 | spin_unlock(&inode->i_lock); |
923 | } | 922 | return 0; |
924 | status = nfs_refresh_inode(inode, fattr); | ||
925 | out: | ||
926 | return status; | ||
927 | } | 923 | } |
928 | 924 | ||
929 | /** | 925 | /** |