summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_cache.c
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2012-01-25 20:48:20 +0000
committerkib <kib@FreeBSD.org>2012-01-25 20:48:20 +0000
commit6f4618881e2ec08c5c24d6a1d4a2232a956d053b (patch)
tree0946bfe186a5e3f41b3c58eac64873eee6c9a82f /sys/kern/vfs_cache.c
parent30761935c6caad4e8f25453ffd5804be83563d02 (diff)
downloadFreeBSD-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.c14
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;
OpenPOWER on IntegriCloud