Browse Source

staging/lustre/libcfs: restore LINVRNT

It was mistakenly removed by coan. Add it back and also with a new
Kconfig option to enable it.

Signed-off-by: Peng Tao <tao.peng@emc.com>
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Peng Tao 12 years ago
parent
commit
4b5b4c7222

+ 9 - 0
drivers/staging/lustre/include/linux/libcfs/libcfs_private.h

@@ -72,7 +72,16 @@ do {									\
 
 #define LASSERT(cond) LASSERTF(cond, "\n")
 
+#ifdef CONFIG_LUSTRE_DEBUG_EXPENSIVE_CHECK
+/**
+ * This is for more expensive checks that one doesn't want to be enabled all
+ * the time. LINVRNT() has to be explicitly enabled by
+ * CONFIG_LUSTRE_DEBUG_EXPENSIVE_CHECK option.
+ */
+# define LINVRNT(exp) LASSERT(exp)
+#else
 # define LINVRNT(exp) ((void)sizeof!!(exp))
+#endif
 
 #define KLASSERT(e) LASSERT(e)
 

+ 10 - 0
drivers/staging/lustre/lustre/Kconfig

@@ -31,3 +31,13 @@ config LUSTRE_OBD_MAX_IOCTL_BUFFER
 	  applications can pass to Lustre kernel module through ioctl interface.
 
 	  If unsure, use default.
+
+config LUSTRE_DEBUG_EXPENSIVE_CHECK
+	bool "Enable Lustre DEBUG checks"
+	depends on LUSTRE_FS
+	default false
+	help
+	  This option is mainly for debug purpose. It enables Lustre code to do
+	  expensive checks that may have a performance impact.
+
+	  Use with caution. If unsure, say N.