Announcement

Get up to 35% off your first year of ZFS Infrastructure Support Learn More

Klara

In addition to all of the ZFS improvements Klara delivered in 2025, the community has also been very active, contributing many other features that will be under the Christmas tree for OpenZFS users this year.

Let’s unwrap the benefits of these gifts from around the community.

Unified Allocation throttle 

The way ZFS allocates space across vdevs is now handled by the Unified Allocation Throttle, which solves a number of long-standing problems, especially in pools with vdevs of mixed performance or mixed age. Prior to this feature, if you expanded a pool by adding additional vdevs, those nearly empty vdevs would be over or under utilized, resulting in poorer read and write performance once other vdevs were full. The new algorithm considers what percentage of free space is available on each vdev—rather than the total amount of free space—to better balance the use of flash-based storage in the pool.

Benefits: ZFS will consider all factors and allocate data proportionally across disks to maximize performance while also balancing free space to fill the vdevs evenly. This will reduce fragmentation and provide more consistent and improved long-term performance. 

Special VDEV Improvements 

Special VDEV Used for ZIL Storage

There have been multiple improvements to the “special allocation class” VDEV in ZFS. This VDEV type was introduced with DRAID to separate out the small metadata reads and writes from large bulk data I/O. This VDEV is also often used to accelerate HDD-based pools using a relatively small amount of high-performance flash. 

The first change will use the special VDEV to store the ZIL (ZFS Intent Log), if your pool does not have a dedicated SLOG (Separate Log device). The ZIL is used to improve the latency of small synchronous write I/Os, such as those from virtual machines and databases. 

Benefits: ZFS will use the high-performance, low-latency flash device rather than the main HDDs for the intent log, significantly improving the IOPS and transaction processing rate of applications that make heavy use of synchronous writes. 

ZVOL Opt-In to the Special VDEV Class

The next change allows the special_small_blocks property to be set of ZVOLs, rather than only on filesystems. While all blocks in a ZVOL will have the same logical size, compression and other factors can still impact this criteria. The common case of running a small number of VMs on a hybrid pool is greatly enhanced with this new feature. 

Benefits: Extends the flexibility of hybrid pools, allowing specific datasets to take advantage of high-performance flash while larger blocks reside on lower-cost spinning rust that is more well-suited to that use case. 

Relaxed Size Restrictions for special_small_blocks

The last of the highlighted special VDEV changes, relaxed size restrictions for special_small_blocks, is a relaxation of the restrictions on the allowable sizes. Rather than the property only accepting values that are a power of 2, the value can now be set to any size less than the maximum record size. Since the size that is considered for this property is the physical size (post compression) rather than the logical size, this unlocks even more configuration flexibility. 

Benefits: The special_small_blocks property is now even more configurable, enabling hybrid pools to take maximum advantage of their combined flash and HDD storage. Ensure the blocks that will benefit most from the IOPS of flash storage are routed there, while balancing the more limited amount of such storage that is available to ensure the special VDEV does not become full of small blocks, making it unavailable for metadata. 

Vectorized AES 

The Vectorized AES feature enables the new vAES acceleration and the VPCLMULDQ instruction to improve the performance of ZFS native encryption on CPUs that support the AVX-512 instruction set. 

Klara added support for vAES to the FreeBSD kernel crypto framework in 2023, but this contribution from the community makes it available on ZFS platforms that use the embedded Illumos Crypto Provider framework, including Linux. 

Benefits: Improves AES encryption and decryption throughput by 80-100% by leveraging larger SIMD instructions offered by modern CPUs. 

Rewrite Command 

A long-requested feature of ZFS, the Rewrite Command is able to write selected file back to the pool as if it were new, effectively defragmenting them, rebalancing them across VDEVs, and re-applying some properties, such as compression and deduplication.  

Note: this is NOT the near-mythical “block pointer rewrite” feature that would be able to solve every limitation in ZFS, but merely a way to systematically update files in-place rather than having to copy or replicate them manually. It is not possible to change the recordsize of an existing file with this feature, because it only dirties the data blocks; it does not recreate the object itself. 

The later follow-up feature, Physical Rewrite, does the same but updates only the physical birth time, not the logical birth time, so the changes will not be picked up by ZFS replication. This enables defragmentation and other settings changes without triggering the data to be replicated as if it were new. 

Benefits: When new VDEVs are added, RAID-Z expansion is used, or new ZFS features become available, it is now possible to rewrite the data and apply the new ZFS settings and features, and to leverage newer high-performance compression algorithms.  

JSON Output  

The last feature we’ll highlight for now is the ability to get structured output JSON from ZFS. While the ZFS CLI has long provided very parsable tab-delimited data, the addition of JSON output makes it more straightforward for machines to read information from ZFS. 

Benefits: It is now faster, safer, and more reliable to systematically extract data and settings from ZFS for reporting, metrics, and monitoring systems, relieving operational headaches, and enabling programmatic consumption of ZFS output. 

A Healthy Open Source Project 

While Klara is very proud of the many contributions we have made to OpenZFS in 2025, we are equally glad to see contributions from so many others, including Lawrence Livermore National Laboratory, TrueNAS, ConnectWise, Delphix, Racktop, EdgeCast, Nutanix, and The FreeBSD Foundation, along with countless other contributors. More than 100 unique individuals contributed directly to OpenZFS during 2025, and we hope to see that number continue to grow. 

 

 

 

 

Back to Articles