Editor
44
edits
Line 5: | Line 5: | ||
== Feature Flags == | == Feature Flags == | ||
Originally the ZFS on-disk format was versioned with a single number which was increased whenever a new on-disk format change was introduced. This worked well when a single entity controlled the development of ZFS; however, in the more distributed development model of OpenZFS a single version number is not ideal. Every OpenZFS implementation would need to agree on every change to the on-disk format. | |||
One of the first OpenZFS projects was a new versioning system called "feature flags" which tags on-disk format changes with unique names. The system supports both completely independent format changes, as well as format changes that depend on each other. A pool's on-disk format is portable between OpenZFS implementations as long as all of the feature flags in use by the pool are supported by both implementations. | |||
All OpenZFS implementations now support feature flags and regularly port features between them to remain compatible. | |||
{| class="wikitable" | |||
| | |||
| '''illumos''' | |||
| '''FreeBSD''' | |||
| '''ZFS on Linux''' | |||
| '''Mac ZFS''' | |||
|- | |||
| '''async_destroy''' | |||
| Y | |||
| Y | |||
| Y | |||
| Y | |||
|- | |||
| '''empty_bpobj''' | |||
| Y | |||
| ? | |||
| ? | |||
| ? | |||
|- | |||
| '''lz4_compress''' | |||
| Y | |||
| ? | |||
| ? | |||
| ? | |||
|} | |||
For more details see these [http://blog.delphix.com/csiden/files/2012/01/ZFS_Feature_Flags.pdf slides (Jan 2012)] and <tt>zpool-features(5)</tt>. | |||
== libzfs_core == | == libzfs_core == |