Illumos #4101 finer-grained control of metaslab_debug

Today the metaslab_debug logic performs two tasks:

- load all metaslabs on import/open
- don't unload metaslabs at the end of spa_sync

This change provides knobs for each of these independently.

References:
  https://illumos.org/issues/4101
  https://github.com/illumos/illumos-gate/commit/0713e23

Notes:

1) This is a small piece of the metaslab improvement patch from
Illumos. It was worth bringing over before the rest, since it's
low risk and it can be useful on fragmented pools (e.g. Lustre
MDTs). metaslab_debug_unload would give the performance benefit
of the old metaslab_debug option without causing unwanted delay
during pool import.

Ported-by: Ned Bass <bass6@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #2227
This commit is contained in:
George Wilson
2014-03-31 17:22:55 -07:00
committed by Brian Behlendorf
parent cc79a5c263
commit aa7d06a98a
2 changed files with 27 additions and 8 deletions
+13 -2
View File
@@ -137,10 +137,21 @@ Default value: \fB8,388,608\fR.
.sp
.ne 2
.na
\fBmetaslab_debug\fR (int)
\fBmetaslab_debug_load\fR (int)
.ad
.RS 12n
Keep space maps in core to verify frees
Load all metaslabs during pool import.
.sp
Use \fB1\fR for yes and \fB0\fR for no (default).
.RE
.sp
.ne 2
.na
\fBmetaslab_debug_unload\fR (int)
.ad
.RS 12n
Prevent metaslabs from being unloaded.
.sp
Use \fB1\fR for yes and \fB0\fR for no (default).
.RE