Reduce code differences

From OpenZFS
Revision as of 10:22, 8 September 2013 by Ryao (talk | contribs) (Add Platform Code Differences link)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

One of the technical goals of OpenZFS is to reduce code differences between the various platforms that support ZFS. To accomplish this, we will:

  • Create a "porting layer" to abstract out the platform-specific code. The "Solaris Porting Layer" (SPL) is a good start at this. We can improve it by moving illumos/Solaris-specific code out of the main files and into platform-specific files.
  • Split the ZPL into platform-independent and platform-specific parts.
  • Long-term, consider if we can create a common repository to use for platform-independent ZFS code, rather than treating illumos as the de facto upstream repository.
    • Any code in this repo would need to be able to be tested in a platform-independent way (e.g. in userland using libzpool), so that changes tested on one platform can be expected to work on every platform.
    • Code tested by ztest would be the first candidate for this.
    • Userland ZFS ioctls would enable running /sbin/zfs and /sbin/zpool, and thus most of the TestRunner test suite against libzpool.

See Platform code differences for specific information on areas of divergence.