diff options
| -rw-r--r-- | sys/kern/vfs_vnode.c | 25 |
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 } /* |
