zfsonlinux/zfs — pull request #2149 by dweeezil (2014-02-27 13:26:54+00:00)
Title: Recent illumos/Delphix features

This patch stack brings most of the missing ZFS features from Illumos into ZoL.

- dweeezil/zfs@743e735 Adds a histogram to zdb
- dweeezil/zfs@dad9948 Adds a histogram to space maps (feature@spacemap_histogram)
- dweeezil/zfs@63153ae Fix to allow zdb to exit properly
- dweeezil/zfs@ac05f44 Add feature@extensible_dataset
- dweeezil/zfs@816c32b Zfs send hole improvements (feature@enabled_txg, feature@hole_birth)
- dweeezil/zfs@2245185 Adds bookmarks

This set will need a lot of review and testing. There was a bit of interference with existing ZoL-specific features. In particular, the space map/metaslab changes interfered with FASTWRITE (zfsonlinux/zfs@920dd52) and the bookmark facility interfered with the ```zfs list -t snapshot``` speedups in zfsonlinux/zfs@0cee240.

Also, the hole-send-avoiding code introduced the need for atomic_swap_64() which we don't (seem to) have in the Linux kernel so I punted and tried to emulate it with a spinlock.

Other than that, these changes ported fairly cleanly and should bring the ZoL code base much more in line with current Illumos code. The usual disclaimers apply for the moment: don't use on production pools, etc. It does, however, seem to function and has passed 10-20 minutes of ```ztest``` testing.