Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Feb 2011 14:17:58 +0000 (UTC)
From:      "Bjoern A. Zeeb" <bz@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r218567 - head/sys/net
Message-ID:  <201102111417.p1BEHwZc062869@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bz
Date: Fri Feb 11 14:17:58 2011
New Revision: 218567
URL: http://svn.freebsd.org/changeset/base/218567

Log:
  Mfp4 CH=177255:
  
    Resort the CURVNET_SET* macros in the non-VNET_DEBUG case to match
    the call order of the VNET_DEBUG case.
  
    Add the VNET_ASSERT() to the non-VNET_DEBUG case as well so that
    INVARIANTS will still catch problems.
  
    Sponsored by: The FreeBSD Foundation
    Sponsored by: CK Software GmbH
    Reviewed by:  jhb
  
  MFC after:	2 weeks

Modified:
  head/sys/net/vnet.h

Modified: head/sys/net/vnet.h
==============================================================================
--- head/sys/net/vnet.h	Fri Feb 11 14:07:27 2011	(r218566)
+++ head/sys/net/vnet.h	Fri Feb 11 14:17:58 2011	(r218567)
@@ -156,14 +156,23 @@ void vnet_log_recursion(struct vnet *, c
 	curthread->td_vnet_lpush = saved_vnet_lpush;
 #else /* !VNET_DEBUG */
 
-#define	CURVNET_SET(arg)						\
+#define	CURVNET_SET_QUIET(arg)						\
+	VNET_ASSERT((arg) != NULL && (arg)->vnet_magic_n == VNET_MAGIC_N, \
+	    ("CURVNET_SET at %s:%d %s() curvnet=%p vnet=%p",		\
+	    __FILE__, __LINE__, __func__, curvnet, (arg)));		\
 	struct vnet *saved_vnet = curvnet;				\
 	curvnet = arg;	
  
-#define	CURVNET_SET_VERBOSE(arg)	CURVNET_SET(arg)
-#define	CURVNET_SET_QUIET(arg)		CURVNET_SET(arg)
+#define	CURVNET_SET_VERBOSE(arg)					\
+	CURVNET_SET_QUIET(arg)
+
+#define	CURVNET_SET(arg)	CURVNET_SET_VERBOSE(arg)
  
 #define	CURVNET_RESTORE()						\
+	VNET_ASSERT(curvnet != NULL && (saved_vnet == NULL ||		\
+	    saved_vnet->vnet_magic_n == VNET_MAGIC_N),			\
+	    ("CURVNET_RESTORE at %s:%d %s() curvnet=%p saved_vnet=%p",	\
+	    __FILE__, __LINE__, __func__, curvnet, saved_vnet));	\
 	curvnet = saved_vnet;
 #endif /* VNET_DEBUG */
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201102111417.p1BEHwZc062869>