diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2005-10-27 22:12:39 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2005-10-27 22:12:39 -0400 |
commit | 33801147a8fda6b04d7e9afe1d42f1c01d3d6837 (patch) | |
tree | 5311fb4714f0a24b7d7666b04250205025e18d15 /fs/nfs/nfs4xdr.c | |
parent | 913a70fc170530f7e1ff0693595155457cc6d0ca (diff) |
NFS: Optimise inode attribute cache updates
Allow nfs_refresh_inode() also to update attributes on the inode if the
RPC call was sent after the last call to nfs_update_inode().
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4xdr.c')
-rw-r--r-- | fs/nfs/nfs4xdr.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c index cd762648fa9a..8b21de8a06fa 100644 --- a/fs/nfs/nfs4xdr.c +++ b/fs/nfs/nfs4xdr.c | |||
@@ -2799,10 +2799,8 @@ static int decode_getfattr(struct xdr_stream *xdr, struct nfs_fattr *fattr, cons | |||
2799 | goto xdr_error; | 2799 | goto xdr_error; |
2800 | if ((status = decode_attr_time_modify(xdr, bitmap, &fattr->mtime)) != 0) | 2800 | if ((status = decode_attr_time_modify(xdr, bitmap, &fattr->mtime)) != 0) |
2801 | goto xdr_error; | 2801 | goto xdr_error; |
2802 | if ((status = verify_attr_len(xdr, savep, attrlen)) == 0) { | 2802 | if ((status = verify_attr_len(xdr, savep, attrlen)) == 0) |
2803 | fattr->valid = NFS_ATTR_FATTR | NFS_ATTR_FATTR_V3 | NFS_ATTR_FATTR_V4; | 2803 | fattr->valid = NFS_ATTR_FATTR | NFS_ATTR_FATTR_V3 | NFS_ATTR_FATTR_V4; |
2804 | fattr->timestamp = jiffies; | ||
2805 | } | ||
2806 | xdr_error: | 2804 | xdr_error: |
2807 | if (status != 0) | 2805 | if (status != 0) |
2808 | printk(KERN_NOTICE "%s: xdr error %d!\n", __FUNCTION__, -status); | 2806 | printk(KERN_NOTICE "%s: xdr error %d!\n", __FUNCTION__, -status); |