summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDeHackEd <[email protected]>2019-05-07 18:34:42 -0400
committerBrian Behlendorf <[email protected]>2019-05-07 15:34:42 -0700
commit1f02ecc5a56d08b744b618c641505c451bd9b1e4 (patch)
treeef95100108a31467f6695cc5deb62a2f4574da5a
parentcaf9dd209fdcfccabc2f32b3f23c5386ccfb896c (diff)
Make zfs_special_class_metadata_reserve_pct into a parameter
Exported and documented a new module parameter. Reviewed-by: Richard Laager <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: DHE <[email protected]> Closes #8706
-rw-r--r--man/man5/zfs-module-parameters.514
-rw-r--r--module/zfs/spa_misc.c5
2 files changed, 19 insertions, 0 deletions
diff --git a/man/man5/zfs-module-parameters.5 b/man/man5/zfs-module-parameters.5
index 5c49670f1..5bca12e06 100644
--- a/man/man5/zfs-module-parameters.5
+++ b/man/man5/zfs-module-parameters.5
@@ -2402,6 +2402,20 @@ Default value: \fB16,777,216\fR.
.sp
.ne 2
.na
+\fBzfs_special_class_metadata_reserve_pct\fR (int)
+.ad
+.RS 12n
+Only allow small data blocks to be allocated on the special and dedup vdev
+types when the available free space percentage on these vdevs exceeds this
+value. This ensures reserved space is available for pool meta data as the
+special vdevs approach capacity.
+.sp
+Default value: \fB25\fR.
+.RE
+
+.sp
+.ne 2
+.na
\fBzfs_sync_pass_dont_compress\fR (int)
.ad
.RS 12n
diff --git a/module/zfs/spa_misc.c b/module/zfs/spa_misc.c
index b3a4a7b12..f4497ca1c 100644
--- a/module/zfs/spa_misc.c
+++ b/module/zfs/spa_misc.c
@@ -2689,5 +2689,10 @@ MODULE_PARM_DESC(zfs_ddt_data_is_special,
module_param(zfs_user_indirect_is_special, int, 0644);
MODULE_PARM_DESC(zfs_user_indirect_is_special,
"Place user data indirect blocks into the special class");
+
+module_param(zfs_special_class_metadata_reserve_pct, int, 0644);
+MODULE_PARM_DESC(zfs_special_class_metadata_reserve_pct,
+ "Small file blocks in special vdevs depends on this much "
+ "free space available");
/* END CSTYLED */
#endif