Illumos Integration Process

Smoothing the illumos integration process.
Compared to other platforms, it is relatively more difficult to set up a build environment and test ZFS changes on illumos. We are working to make this easier, so that changes from Linux, FreeBSD, etc. can be pushed to illumos, thus reducing the diffs they need to maintain, and making these improvements available to all platforms.

Our specific goals are:
 * Make it possible to build illumos ZFS on OmniOS. OmniOS is a modern server OS with virtual machine images available for all the major platforms.
 * Make it possible to build just ZFS on illumos, without having to build the entire codebase. This willl reduce build time from several hours to just minutes.
 * Finish porting all the ZFS test cases from the STF framework to the TestRunner framework, which lives in the illumos gate.
 * Create a script that will run on OmniOS and set up a build environment, get the ZFS code, apply a patch, build it, install it, run the TestRunner test suite, and generate a webrev which can be used to review the code on the zfs@lists.illumos.org mailing list.

The current illumos development process
Develop changes:
 * For large or controversial changes, consider getting design review on developer@open-zfs.org
 * Set up OpenIndiana-based development environment
 * Clone repo from github
 * Make code changes
 * Run a full build with nightly (runs lint)
 * Test with ztest and TestRunner
 * consider if you need to add a new test case
 * Check code style with cstyle tool

Submit code:
 * Get your code reviewed on zfs@lists.illumos.org
 * cc: developer@open-zfs.org for platform-neutral changes
 * non-trivial changes typically must be reviewed by a ZFS expert (e.g. Matt Ahrens or George Wilson)
 * preferred tool for creating reviews is webrev
 * Submit a “Request to Integrate” (RTI) email to advocates@lists.illumos.org
 * Advocate will integrate (push) your code to github
 * Chris Siden is the most active ZFS advocate
 * Author, code reviewer, advocate should be different people