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