diff options
author | kib <kib@FreeBSD.org> | 2012-01-25 20:48:20 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2012-01-25 20:48:20 +0000 |
commit | 6f4618881e2ec08c5c24d6a1d4a2232a956d053b (patch) | |
tree | 0946bfe186a5e3f41b3c58eac64873eee6c9a82f /sys/kern/vfs_cache.c | |
parent | 30761935c6caad4e8f25453ffd5804be83563d02 (diff) | |
download | FreeBSD-src-6f4618881e2ec08c5c24d6a1d4a2232a956d053b.zip FreeBSD-src-6f4618881e2ec08c5c24d6a1d4a2232a956d053b.tar.gz |
Fix remaining calls to cache_enter() in both NFS clients to provide
appropriate timestamps. Restore the assertions which verify that
NCF_TS is set when timestamp is asked for.
Reviewed by: jhb (previous version)
MFC after: 2 weeks
Diffstat (limited to 'sys/kern/vfs_cache.c')
-rw-r--r-- | sys/kern/vfs_cache.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index 647dcac..4562ebc 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -237,13 +237,9 @@ static void cache_out_ts(struct namecache *ncp, struct timespec *tsp, int *ticksp) { - if ((ncp->nc_flag & NCF_TS) == 0) { - if (tsp != NULL) - bzero(tsp, sizeof(*tsp)); - if (ticksp != NULL) - *ticksp = 0; - return; - } + KASSERT((ncp->nc_flag & NCF_TS) != 0 || + (tsp == NULL && ticksp == NULL), + ("No NCF_TS")); if (tsp != NULL) *tsp = ((struct namecache_ts *)ncp)->nc_time; @@ -791,8 +787,8 @@ cache_enter_time(dvp, vp, cnp, tsp) n2->nc_nlen == cnp->cn_namelen && !bcmp(nc_get_name(n2), cnp->cn_nameptr, n2->nc_nlen)) { if (tsp != NULL) { - if ((n2->nc_flag & NCF_TS) == 0) - continue; + KASSERT((n2->nc_flag & NCF_TS) != 0, + ("no NCF_TS")); n3 = (struct namecache_ts *)n2; n3->nc_time = ((struct namecache_ts *)ncp)->nc_time; |