diff options
author | Ricardo Labiaga <Ricardo.Labiaga@netapp.com> | 2010-10-12 16:30:05 -0700 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2010-10-24 17:59:56 -0400 |
commit | 6b96724e507fecc3e6440e86426fe4f44359ed66 (patch) | |
tree | 5b38131405301f4dd536a11f44ff0d5e6785d266 /include/linux/nfs_xdr.h | |
parent | 118df3d17f11733b294ea2cd988d56ee376ef9fd (diff) | |
download | op-kernel-dev-6b96724e507fecc3e6440e86426fe4f44359ed66.zip op-kernel-dev-6b96724e507fecc3e6440e86426fe4f44359ed66.tar.gz |
Revalidate caches on lock
Instead of blindly zapping the caches, attempt to revalidate them if
the server has indicated that it uses high resolution timestamps.
NFSv4 should be able to always revalidate the cache since the
protocol requires the update of the change attribute on modification of
the data. In reality, there are servers (the Linux NFS server
for example) that do not obey this requirement and use ctime as the
basis for change attribute. Long term, the server needs to be fixed.
At this time, and to be on the safe side, continue zapping caches if
the server indicates that it does not have a high resolution timestamp.
Signed-off-by: Ricardo Labiaga <Ricardo.Labiaga@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux/nfs_xdr.h')
-rw-r--r-- | include/linux/nfs_xdr.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index efe2eab..da7a130 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h @@ -112,6 +112,7 @@ struct nfs_fsinfo { __u32 wtmult; /* writes should be multiple of this */ __u32 dtpref; /* pref. readdir transfer size */ __u64 maxfilesize; + struct timespec time_delta; /* server time granularity */ __u32 lease_time; /* in seconds */ }; |