Features

CLI Usability
These are improvements to the command line interface. While the end result is a generally more friendly user interface, getting the desired behavior often required modifications to the core of ZFS.

Pool Comment
OpenZFS has a per-pool comment property which can be set with the zpool set command, but can be read even if the pool is not imported, so it is accessible even if the pool cannot be imported.

Size Estimates for zfs send and zfs destroy
This feature enhances OpenZFS's internal space accounting information. This new accounting information is used to provide a -n (dry-run) option for zfs send which can instantly calculate the amount of send stream data a specific zfs send command would generate. It is also used for a -n option for zfs destroy which can instantly calculate the amount of space that would be reclaimed by a specific zfs destroy</tt> command.

vdev Information in zpool list</tt>
OpenZFS adds a -v</tt> option to the zpool list</tt> command which shows detailed sizing information about the vdevs in the pool:

$ zpool list -v NAME         SIZE  ALLOC   FREE  EXPANDSZ    CAP  DEDUP  HEALTH  ALTROOT dcenter     5.24T  3.85T  1.39T         -    73%  1.00x  ONLINE  - mirror     556G   469G  86.7G         - c2t1d0      -      -      -         - c2t0d0      -      -      -         - mirror     556G   493G  63.0G         - c2t3d0      -      -      -         - c2t2d0      -      -      -         - mirror     556G   493G  62.7G         - c2t5d0      -      -      -         - c2t4d0      -      -      -         - mirror     556G   494G  62.5G         - c2t8d0      -      -      -         - c2t6d0      -      -      -         - mirror     556G   494G  62.2G         - c2t10d0     -      -      -         - c2t9d0      -      -      -         - mirror     556G   494G  61.9G         - c2t12d0     -      -      -         - c2t11d0     -      -      -         - mirror    1016G   507G   509G         - c1t1d0      -      -      -         - c1t5d0      -      -      -         - mirror    1016G   496G   520G         - c1t3d0      -      -      -         - c1t4d0      -      -      -         -

zfs send</tt> Progress Reporting
OpenZFS introduces a -v</tt> option to zfs send</tt> which reports per-second information on how much data has been sent, how long it has taken, and how much data remains to be sent.

ZFS list snapshot property alias
Functionally identical to Solaris 11 extension [code]zfs list -t snap[/code].

ZFS snapshot alias
Functionally identical to Solaris 11 extension [code]zfs snap[/code].

Asynchronous Filesystem and Volume Destruction
Destroying a filesystem requires traversing all of its data in order to return its used blocks to the pool's free list. Before this feature the filesystem was not fully removed until all blocks had been reclaimed. If the destroy operation was interrupted by a reboot or power outage the next attempt to import the pool (probably during boot) would need to complete the destroy operation synchronously, possibly delaying a boot for long periods of time.

With asynchronous destruction the filesystem's data is immediately moved to a "to be freed" list, allowing the destroy operation to complete without traversing any of the filesystem's data. A background process reclaims blocks from this "to be freed" list and is capable of resuming this process after reboots without slowing the pool import process.

The new freeing algorithm also has a significant performance improvement when destroying clones. The old algorithm took time proportional to the number of blocks referenced by the clone, even if most of those blocks could not be reclaimed because they were still referenced by the clone's origin. The new algorithm only takes time proportional to the number of blocks unique to the clone.

George's massive spacemap performance improvments (the set from 2012)?
also 16a4a8074274d2d7cc408589cf6359f4a378c861 and 9eb57f7f3fbb970d4b9b89dcd5ecf543fe2414d5

Don't ashift-align vdev read requests.
Avoids memory allocation in heavily-used code path and reduces the amount of data that has to travel. Porting it to illumos will require a rewrite of its block device drivers.

FASTWRITE Algorithm
Improves synchronous IO performance.

Improve N-way mirror performance
Queues read requests to least busy leaf vdev in mirrors.

SA based xattrs
Requires a disk format change and is off by default until ZFS Version Feature Flags (not to be confused with Pool Version Feature Flags) are implemented.

Dataset Properties
These are new filesystem, volume, and snapshot properties which can be accessed with the zfs(1)</tt> command's get</tt> subcommand. See the zfs(1)</tt> manpage for your distribution for more details on each of these properties.

more props lused lcompressed 77372cb0f35e8d3615ca2e16044f033397e88e21 Not yet ported to ZFSOnLinux (as of Sept. 13, 2013)