summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2015-09-01 09:45:10 -0700
committerBrian Behlendorf <[email protected]>2015-09-02 09:30:18 -0700
commit6cde64351e236712a17d41c1578d5843a0f006e4 (patch)
treedf0cd30d4d2db2daa46e7d95ce47642d2c81a751
parent3f1cc17c9005d19faba91fe7236332ed502b1a3f (diff)
Add spa_slop_shift module option
Allow for easy turning of a pools reserved free space. Previous versions of ZFS (v0.6.4 and earlier) held 1/64 of the pools capacity in reserve. Commits 3d45fdd and 0c60cc3 increased this to 1/32. Setting spa_slop_shift=6 will restore the previous default setting. Signed-off-by: Brian Behlendorf <[email protected]> Closes #3724
-rw-r--r--man/man5/zfs-module-parameters.516
-rw-r--r--module/zfs/spa_misc.c3
2 files changed, 19 insertions, 0 deletions
diff --git a/man/man5/zfs-module-parameters.5 b/man/man5/zfs-module-parameters.5
index de3f35bbb..35ea9d9f6 100644
--- a/man/man5/zfs-module-parameters.5
+++ b/man/man5/zfs-module-parameters.5
@@ -304,6 +304,22 @@ Default value: 10000
.sp
.ne 2
.na
+\fBspa_slop_shift\fR (int)
+.ad
+.RS 12n
+Normally, we don't allow the last 3.2% (1/(2^spa_slop_shift)) of space
+in the pool to be consumed. This ensures that we don't run the pool
+completely out of space, due to unaccounted changes (e.g. to the MOS).
+It also limits the worst-case time to allocate space. If we have
+less than this amount of free space, most ZPL operations (e.g. write,
+create) will return ENOSPC.
+.sp
+Default value: 5
+.RE
+
+.sp
+.ne 2
+.na
\fBzfetch_array_rd_sz\fR (ulong)
.ad
.RS 12n
diff --git a/module/zfs/spa_misc.c b/module/zfs/spa_misc.c
index ad9f9fe28..409dce121 100644
--- a/module/zfs/spa_misc.c
+++ b/module/zfs/spa_misc.c
@@ -2094,4 +2094,7 @@ MODULE_PARM_DESC(zfs_deadman_enabled, "Enable deadman timer");
module_param(spa_asize_inflation, int, 0644);
MODULE_PARM_DESC(spa_asize_inflation,
"SPA size estimate multiplication factor");
+
+module_param(spa_slop_shift, int, 0644);
+MODULE_PARM_DESC(spa_slop_shift, "Reserved free space in pool");
#endif