summaryrefslogtreecommitdiff
path: root/sys/kern/vfs_vnode.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/vfs_vnode.c')
-rw-r--r--sys/kern/vfs_vnode.c25
1 files changed, 17 insertions, 8 deletions
diff --git a/sys/kern/vfs_vnode.c b/sys/kern/vfs_vnode.c
index 4e8f504d33c..e15a57a7722 100644
--- a/sys/kern/vfs_vnode.c
+++ b/sys/kern/vfs_vnode.c
@@ -460,6 +460,11 @@ vnalloc_marker(struct mount *mp)
vp->v_klist = &vip->vi_klist;
vip->vi_state = VS_MARKER;
+#ifdef LOCKDOC
+ lockdoc_log_memory(1, "vnode_impl", vip, sizeof(*vip));
+ lockdoc_log_memory(1, "kmutex_t", vp->v_interlock, sizeof(*(vp->v_interlock)));
+#endif
+
return vp;
}
@@ -473,6 +478,12 @@ vnfree_marker(vnode_t *vp)
vip = VNODE_TO_VIMPL(vp);
KASSERT(vip->vi_state == VS_MARKER);
+
+#ifdef LOCKDOC
+ lockdoc_log_memory(0, "vnode_impl", vip, sizeof(*vip));
+ lockdoc_log_memory(0, "kmutex_t", vp->v_interlock, sizeof(*(vp->v_interlock)));
+#endif
+
mutex_obj_free(vp->v_interlock);
uvm_obj_destroy(&vp->v_uobj, true);
klist_fini(&vip->vi_klist.vk_klist);
@@ -1321,10 +1332,6 @@ vcache_init(void)
&vcache_hashmask);
hashstat_register("vcache", vcache_stats);
-#ifdef LOCKDOC
- // TODO
- //lockdoc_log_memory(1, "hashhead", vcache_hashtab, sizeof(*vcache_hashtab));
-#endif
}
static void
@@ -1408,6 +1415,7 @@ vcache_alloc(void)
#ifdef LOCKDOC
lockdoc_log_memory(1, "vnode_impl", vip, sizeof(*vip));
+ lockdoc_log_memory(1, "kmutex_t", vp->v_interlock, sizeof(*(vp->v_interlock)));
#endif
return vip;
@@ -1462,6 +1470,11 @@ vcache_free(vnode_impl_t *vip)
if (vp->v_type == VBLK || vp->v_type == VCHR)
spec_node_destroy(vp);
+#ifdef LOCKDOC
+ lockdoc_log_memory(0, "vnode_impl", vip, sizeof(*vip));
+ lockdoc_log_memory(0, "kmutex_t", vp->v_interlock, sizeof(*(vp->v_interlock)));
+#endif
+
mutex_obj_free(vp->v_interlock);
rw_destroy(&vip->vi_lock);
uvm_obj_destroy(&vp->v_uobj, true);
@@ -1470,10 +1483,6 @@ vcache_free(vnode_impl_t *vip)
cv_destroy(&vp->v_cv);
cache_vnode_fini(vp);
pool_cache_put(vcache_pool, vip);
-
-#ifdef LOCKDOC
- lockdoc_log_memory(0, "vnode_impl", vip, sizeof(*vip));
-#endif
}
/*