mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 18:40:43 +03:00
Pool allocation classes misplacing small file blocks
Due to an off-by-one condition in spa_preferred_class() we are picking the "normal" allocation class instead of the "special" one for file blocks with size equal to the special_small_blocks property value. This change fix the small code issue, update the ZFS Test Suite and the zfs(8) man page. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Don Brady <don.brady@delphix.com> Signed-off-by: loli10K <ezomori.nozomu@gmail.com> Closes #8351 Closes #8361
This commit is contained in:
+5
-3
@@ -1521,9 +1521,11 @@ This feature must be enabled to be used
|
||||
.Pc .
|
||||
.It Sy special_small_blocks Ns = Ns Em size
|
||||
This value represents the threshold block size for including small file
|
||||
blocks into the special allocation class. Valid values are zero or a
|
||||
power of two from 512B up to 128K. The default size is 0 which means no
|
||||
small file blocks will be allocated in the special class.
|
||||
blocks into the special allocation class. Blocks smaller than or equal to this
|
||||
value will be assigned to the special allocation class while greater blocks
|
||||
will be assigned to the regular class. Valid values are zero or a power of two
|
||||
from 512B up to 128K. The default size is 0 which means no small file blocks
|
||||
will be allocated in the special class.
|
||||
.Pp
|
||||
Before setting this property, a special class vdev must be added to the
|
||||
pool. See
|
||||
|
||||
Reference in New Issue
Block a user