]> git.proxmox.com Git - mirror_zfs-debian.git/blobdiff - include/sys/zfs_debug.h
Imported Upstream version 0.6.4.2
[mirror_zfs-debian.git] / include / sys / zfs_debug.h
index e51207955555fe0827f4bc4b54a87e9b4a2bf7fc..1a7062408e04a878cd118d1f694234393f881052 100644 (file)
@@ -20,7 +20,7 @@
  */
 /*
  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2013 by Delphix. All rights reserved.
+ * Copyright (c) 2012, 2014 by Delphix. All rights reserved.
  */
 
 #ifndef _SYS_ZFS_DEBUG_H
@@ -38,48 +38,28 @@ extern "C" {
 #define        FALSE 0
 #endif
 
-/*
- * ZFS debugging - Always enabled for user space builds.
- */
-
-#if !defined(ZFS_DEBUG) && !defined(_KERNEL)
-#define        ZFS_DEBUG
-#endif
-
 extern int zfs_flags;
 extern int zfs_recover;
-
-#define        ZFS_DEBUG_DPRINTF       (1<<0)
-#define        ZFS_DEBUG_DBUF_VERIFY   (1<<1)
-#define        ZFS_DEBUG_DNODE_VERIFY  (1<<2)
-#define        ZFS_DEBUG_SNAPNAMES     (1<<3)
-#define        ZFS_DEBUG_MODIFY        (1<<4)
-#define        ZFS_DEBUG_SPA           (1<<5)
-#define        ZFS_DEBUG_ZIO_FREE      (1<<6)
-
-/*
- * Always log zfs debug messages to the spl debug subsystem as SS_USER1.
- * When the SPL is configured with debugging enabled these messages will
- * appear in the internal spl debug log, otherwise they are a no-op.
- */
-#if defined(_KERNEL)
-
-#include <spl-debug.h>
-#define        dprintf(...)                                                   \
-       if (zfs_flags & ZFS_DEBUG_DPRINTF)                             \
-               __SDEBUG(NULL, SS_USER1, SD_DPRINTF, __VA_ARGS__)
-
-/*
- * When zfs is running is user space the debugging is always enabled.
- * The messages will be printed using the __dprintf() function and
- * filtered based on the zfs_flags variable.
- */
-#else
-#define        dprintf(...)                                                   \
-       if (zfs_flags & ZFS_DEBUG_DPRINTF)                             \
+extern int zfs_free_leak_on_eio;
+
+#define        ZFS_DEBUG_DPRINTF               (1<<0)
+#define        ZFS_DEBUG_DBUF_VERIFY           (1<<1)
+#define        ZFS_DEBUG_DNODE_VERIFY          (1<<2)
+#define        ZFS_DEBUG_SNAPNAMES             (1<<3)
+#define        ZFS_DEBUG_MODIFY                (1<<4)
+#define        ZFS_DEBUG_SPA                   (1<<5)
+#define        ZFS_DEBUG_ZIO_FREE              (1<<6)
+#define        ZFS_DEBUG_HISTOGRAM_VERIFY      (1<<7)
+
+#if defined(HAVE_DECLARE_EVENT_CLASS) || !defined(_KERNEL)
+extern void __dprintf(const char *file, const char *func,
+    int line, const char *fmt, ...);
+#define        dprintf(...) \
+       if (zfs_flags & ZFS_DEBUG_DPRINTF) \
                __dprintf(__FILE__, __func__, __LINE__, __VA_ARGS__)
-
-#endif /* _KERNEL */
+#else
+#define        dprintf(...) ((void)0)
+#endif /* HAVE_DECLARE_EVENT_CLASS || !_KERNEL */
 
 extern void zfs_panic_recover(const char *fmt, ...);
 
@@ -91,12 +71,8 @@ typedef struct zfs_dbgmsg {
 
 extern void zfs_dbgmsg_init(void);
 extern void zfs_dbgmsg_fini(void);
-#if defined(_KERNEL) && defined(__linux__)
-#define        zfs_dbgmsg(...) dprintf(__VA_ARGS__)
-#else
 extern void zfs_dbgmsg(const char *fmt, ...);
 extern void zfs_dbgmsg_print(const char *tag);
-#endif
 
 #ifndef _KERNEL
 extern int dprintf_find_string(const char *string);