Re: [patch] panic on boot when compiling kernel with option VFSLCKDEBUG

2015-01-19 Thread Helg

 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 -  1.9
 +++ kern/vfs_vops.c 16 Jan 2015 23:30:59 -
 @@ -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
 

Anyone?




Re: [patch] panic on boot when compiling kernel with option VFSLCKDEBUG

2015-01-19 Thread Philip Guenther
On Wed, Jan 7, 2015 at 1:26 AM, Helg xx...@msn.com wrote:
 Anyone?

Took me a couple tries, but it's in.



[patch] panic on boot when compiling kernel with option VFSLCKDEBUG

2015-01-16 Thread Helg
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 -  1.9
+++ kern/vfs_vops.c 16 Jan 2015 23:30:59 -
@@ -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