summaryrefslogtreecommitdiffstats
path: root/sys/fs/nfsclient/nfsnode.h
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2010-09-07 14:29:45 +0000
committerjhb <jhb@FreeBSD.org>2010-09-07 14:29:45 +0000
commit0f939dc96e7e1aec8c86f3cad8891d9e3c0ffe1b (patch)
tree0a023b40473f508ea26e1ba4b2b9dfcfc657c1a4 /sys/fs/nfsclient/nfsnode.h
parentb33adc1bec8364e4d51804534d77029137887f5d (diff)
downloadFreeBSD-src-0f939dc96e7e1aec8c86f3cad8891d9e3c0ffe1b.zip
FreeBSD-src-0f939dc96e7e1aec8c86f3cad8891d9e3c0ffe1b.tar.gz
Store the full timestamp when caching timestamps of files and
directories for purposes of validating name cache entries. This closes races where two updates to a file or directory within the same second could result in stale entries in the name cache. While here, remove the 'n_expiry' field as it is no longer used. Reviewed by: rmacklem MFC after: 1 week
Diffstat (limited to 'sys/fs/nfsclient/nfsnode.h')
-rw-r--r--sys/fs/nfsclient/nfsnode.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/fs/nfsclient/nfsnode.h b/sys/fs/nfsclient/nfsnode.h
index 8bbb3bc..204b20c 100644
--- a/sys/fs/nfsclient/nfsnode.h
+++ b/sys/fs/nfsclient/nfsnode.h
@@ -96,10 +96,9 @@ struct nfsnode {
time_t n_attrstamp; /* Attr. cache timestamp */
struct nfs_accesscache n_accesscache[NFS_ACCESSCACHESIZE];
struct timespec n_mtime; /* Prev modify time. */
- time_t n_ctime; /* Prev create time. */
- time_t n_dmtime; /* Prev dir modify time. */
+ struct timespec n_ctime; /* Prev create time. */
+ struct timespec n_dmtime; /* Prev dir modify time. */
int n_dmtime_ticks; /* Tick of -ve cache entry */
- time_t n_expiry; /* Lease expiry time */
struct nfsfh *n_fhp; /* NFS File Handle */
struct vnode *n_vnode; /* associated vnode */
struct vnode *n_dvp; /* parent vnode */
OpenPOWER on IntegriCloud