Revalidate caches on lock
authorRicardo Labiaga <Ricardo.Labiaga@netapp.com>
Tue, 12 Oct 2010 23:30:05 +0000 (16:30 -0700)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Sun, 24 Oct 2010 21:59:56 +0000 (17:59 -0400)
commit6b96724e507fecc3e6440e86426fe4f44359ed66
tree5b38131405301f4dd536a11f44ff0d5e6785d266
parent118df3d17f11733b294ea2cd988d56ee376ef9fd
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>
fs/nfs/client.c
fs/nfs/file.c
fs/nfs/nfs3xdr.c
include/linux/nfs_fs_sb.h
include/linux/nfs_xdr.h