diff options
author | jhb <jhb@FreeBSD.org> | 2010-09-07 14:29:45 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2010-09-07 14:29:45 +0000 |
commit | 0f939dc96e7e1aec8c86f3cad8891d9e3c0ffe1b (patch) | |
tree | 0a023b40473f508ea26e1ba4b2b9dfcfc657c1a4 /sys/fs/nfsclient/nfsnode.h | |
parent | b33adc1bec8364e4d51804534d77029137887f5d (diff) | |
download | FreeBSD-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.h | 5 |
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 */ |