With the launch of the OpenZFS Code Repository (see Notes below), we would
like to conduct code reviews using pull requests on the openzfs github
account.  The goal is to facilitate code reuse among all the platforms
using ZFS, by making it easier to upstream ZFS changes from other platforms
(e.g. Linux, FreeBSD, OSX) to illumos.

Changes that are accepted into the OpenZFS repo will later be RTI'ed into
illumos without further request for code review.  Therefore, we want to be
sure that commits to OpenZFS meet the illumos standards for code review,
commit message, etc.  *Please help us do so by reviewing pull requests*,
leaving your feedback and/or an affirmative message if you can be counted
as a reviewer ("LGTM", "Ship It", "Looks good", etc).

The developer@open-zfs.org mailing list will receive notifications when
pull requests are submitted or commented on (similar to the state with
reviews.csiden.org, but more automatic).  If you are interested in
reviewing ZFS changes, please join the developer@open-zfs.org mailing list.

We've already had a lot of interest in using this mechanism -- there are 19
open pull requests.  I'll bring your attention to 3 of them which are good
examples:

6369 remove SVM tests from ZFS test suite
https://github.com/openzfs/openzfs/pull/16
 - this fixes the zfs test suite on OmniOS, which we are using for the
automated tests, so we need to get this integrated before we will have good
test results for other pull requests

6387 Use kmem_vasprintf() in log_internal()
https://github.com/openzfs/openzfs/pull/10
 - an example of a simple fix from Linux.  We especially want to reduce the
friction of getting these "no brainer" fixes so that we don't end up with
lots of small differences between platforms

5752 dump_nvlist() is not aware of boolean array
https://github.com/openzfs/openzfs/pull/20
 - an example of a small feature addition from FreeBSD.  We're OK with
using OpenZFS repo to facilitate upstreaming changes that aren't specific
to ZFS, but we'll pay extra attention to getting sufficient review exposure.

Notes:
 - OpenZFS repo: https://github.com/openzfs/openzfs
 - slides from announcement (starting page 13):
https://drive.google.com/file/d/0B4BF1vnv6p0-R0NQdE1EaFJLeVE/view
 - video from announcement:
https://www.youtube.com/watch?v=aV276yUfgK4&feature=youtu.be&t=6m23s
 - list of all open pull requests: https://github.com/openzfs/openzfs/pulls
 - Pull requests marked as "reviewed" have been reviewed by an OpenZFS
committer (currently Prakash and I).  We would still like to have at least
one additional reviewer.  Those marked as "question" have an issue that the
submitter needs to resolve.
 - We will allow extra information in the commit message, following the
illumos-standard message.  This extra info will be removed when pushing to
illumos.
 - The automated tests are currently run on Delphix infrastructure, but we
are working on moving them to the Joyent cloud.

As outlined in the README
<https://github.com/openzfs/openzfs/blob/master/README.md> in the repo, the
typical procedure for integrating to OpenZFS will be:

 - Integrate changes to platform of your choice (e.g. Linux, FreeBSD,
SmartOS) with appropriate testing
 - Open pull request against https://github.com/openzfs/openzfs
 - Respond to code review comments
 - Check automated test results
 - Once code review has concluded, OpenZFS committers (e.g. Matt or
Prakash) will merge[*] the pull request, and then later file an illumos RTI.

[*] We'll actually rebase the commit from the pull request, so that we
don't clutter the repo with a ton of merges.  The only actual merge commits
in openzfs repo will be from merging changes from illumos into openzfs.
_______________________________________________
developer mailing list
developer@open-zfs.org
http://lists.open-zfs.org/mailman/listinfo/developer

Reply via email to