While troubleshooting a deadlock problem I compiled the kernel with option VFSLCKDEBUG and found that the if statement in the assert macro is missing braces. The includes seem to have changed since 5.6 as well as it was missing the declaration for the panic function.
Index: kern/vfs_vops.c =================================================================== RCS file: /cvs/src/sys/kern/vfs_vops.c,v retrieving revision 1.9 diff -u -p -r1.9 vfs_vops.c --- kern/vfs_vops.c 13 Aug 2013 05:52:24 -0000 1.9 +++ kern/vfs_vops.c 16 Jan 2015 23:30:59 -0000 @@ -48,10 +48,12 @@ #include <sys/unistd.h> #ifdef VFSLCKDEBUG +#include <sys/systm.h> #define ASSERT_VP_ISLOCKED(vp) do { \ - if (((vp)->v_flag & VLOCKSWORK) && !VOP_ISLOCKED(vp)) \ + if (((vp)->v_flag & VLOCKSWORK) && !VOP_ISLOCKED(vp)) { \ VOP_PRINT(vp); \ panic("vp not locked"); \ + } \ } while (0) #else #define ASSERT_VP_ISLOCKED(vp) /* nothing */ -- Helg <xx...@msn.com>