From 0dd2d58c132bcdb5078ff3cc5cffb96dd7ec7747 Mon Sep 17 00:00:00 2001 From: Edward Tomasz Napierala Date: Thu, 3 Nov 2016 15:04:16 +0000 Subject: MFC r304023: Print vnode details when vnode locking assertion gets triggered. --- sys/kern/vfs_subr.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index cd70ccfd3f06..cf701c62f401 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -4402,6 +4402,10 @@ int vfs_badlock_print = 1; /* Print lock violations. */ SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_print, CTLFLAG_RW, &vfs_badlock_print, 0, "Print lock violations"); +int vfs_badlock_vnode = 1; /* Print vnode details on lock violations. */ +SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_vnode, CTLFLAG_RW, &vfs_badlock_vnode, + 0, "Print vnode details on lock violations"); + #ifdef KDB int vfs_badlock_backtrace = 1; /* Print backtrace at lock violations. */ SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_backtrace, CTLFLAG_RW, @@ -4416,6 +4420,8 @@ vfs_badlock(const char *msg, const char *str, struct vnode *vp) if (vfs_badlock_backtrace) kdb_backtrace(); #endif + if (vfs_badlock_vnode) + vn_printf(vp, "vnode "); if (vfs_badlock_print) printf("%s: %p %s\n", str, (void *)vp, msg); if (vfs_badlock_ddb) -- cgit v1.2.3