Project Contacts:
Justin Gibbs, Will Andrews
This project's primary focus was to avoid copy on write faults,
which occur primarily when overwriting ZFS data blocks in
less-than-recordsize chunks. Additionally, when faults are
necessary, they are resolved asynchronously, significantly reducing
their impact on throughput and latency. Applications that fill ZFS
data blocks in such chunks now get performance approaching what
they would if they were writing out in larger chunks.
Another focus was rewriting the DMU I/O APIs to support asynchronous
I/Os. Using this mechanism, ZVOL block objects can queue reads to be
completed asynchronously. File I/Os have also implemented this.
This work is still being curated for entry into a FreeBSD Subversion
project directory, with the goal to be in HEAD. In the near future,
we plan to release a paper that describes in more detail.
Downloads (updated May 12, 2012):
Patch vs FreeBSD/head
Change log (with embedded diffs)