]> granicus.if.org Git - zfs/commitdiff
Make zfs_special_class_metadata_reserve_pct into a parameter
authorDeHackEd <DeHackEd@users.noreply.github.com>
Tue, 7 May 2019 22:34:42 +0000 (18:34 -0400)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 7 May 2019 22:34:42 +0000 (15:34 -0700)
Exported and documented a new module parameter.

Reviewed-by: Richard Laager <rlaager@wiktel.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: DHE <git@dehacked.net>
Closes #8706

man/man5/zfs-module-parameters.5
module/zfs/spa_misc.c

index 5c49670f155a23dab73f1b98a02cb1054079b959..5bca12e06ea2bc26118e2701de3f9fe0f7fd21e7 100644 (file)
@@ -2399,6 +2399,20 @@ vdev while discarding the checkpoint.
 Default value: \fB16,777,216\fR.
 .RE
 
+.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
index b3a4a7b124665d2019f7436a027fee84d87cdb75..f4497ca1cbe2606d47cff4e3b4f14c8dbf8be187 100644 (file)
@@ -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