Increase allowed 'special_small_blocks' maximum value

There may be circumstances where it's desirable that all blocks
in a specified dataset be stored on the special device.  Relax
the artificial 128K limit and allow the special_small_blocks
property to be set up to 1M.  When blocks >1MB have been enabled
via the zfs_max_recordsize module option, this limit is increased
accordingly.

Reviewed-by: Don Brady <don.brady@delphix.com>
Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #9131
Closes #9355
This commit is contained in:
Brian Behlendorf
2019-12-03 09:58:03 -08:00
committed by GitHub
parent b3673342c7
commit 624222ae31
4 changed files with 17 additions and 7 deletions
@@ -21,6 +21,7 @@
#
# DESCRIPTION:
# Setting the special_small_blocks property to invalid values fails.
# Powers of two from 512 to 1M are allowed.
#
verify_runnable "global"
@@ -34,7 +35,7 @@ log_must disk_setup
log_must zpool create $TESTPOOL raidz $ZPOOL_DISKS special mirror \
$CLASS_DISK0 $CLASS_DISK1
for value in 256 1025 262144
for value in 256 1025 2097152
do
log_mustnot zfs set special_small_blocks=$value $TESTPOOL
done