Add metaslab_debug option
authorBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 18 Mar 2013 20:03:09 +0000 (13:03 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 18 Mar 2013 23:47:43 +0000 (16:47 -0700)
Enabling metaslab debugging will prevent space maps from being
automatically unloaded.  This can significantly increase the
memory footprint but being able to dynamically control this is
helpful for debugging and certain performance testing.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
module/zfs/metaslab.c

index d199921..03d5a1d 100644 (file)
@@ -58,7 +58,7 @@ int zfs_mg_alloc_failures;
 /*
  * Metaslab debugging: when set, keeps all space maps in core to verify frees.
  */
-static int metaslab_debug = 0;
+int metaslab_debug = 0;
 
 /*
  * Minimum size which forces the dynamic allocator to change
@@ -1746,3 +1746,8 @@ void metaslab_fastwrite_unmark(spa_t *spa, const blkptr_t *bp)
 
        spa_config_exit(spa, SCL_VDEV, FTAG);
 }
+
+#if defined(_KERNEL) && defined(HAVE_SPL)
+module_param(metaslab_debug, int, 0644);
+MODULE_PARM_DESC(metaslab_debug, "keep space maps in core to verify frees");
+#endif /* _KERNEL && HAVE_SPL */