Difference between revisions of "Projects"

From OpenZFS
Jump to navigation Jump to search
m (Mahrens moved page Project Ideas to Projects)
(break out "active" projects)
Line 1: Line 1:
== Inter-platform coordination ==
== Active projects ==
 
Projects that are currently being worked on.  Ideally these should each have a responsible engineer and a link to a design document or page explaining how they will work.
 
* resumable send/receive [[User:Csiden]]
* Storage of small files in dnode [[User:Mahrens]]
* Raspberry Pi support ([[User:Ryao | ryao]] is working on this)
** Based on ZFS on Linux, which already works on ARM
** Some unresolved issues with running out of kernel virtual address space
 
== Inter-platform coordination ideas ==


Ideas for projects that would help coordinate changes between platforms:
Ideas for projects that would help coordinate changes between platforms:
Line 23: Line 33:
** to easily try OpenZFS on a choice of distributions within a virtual machine
** to easily try OpenZFS on a choice of distributions within a virtual machine
** images could be built for running on public clouds
** images could be built for running on public clouds
** images for installing to real hardware:
** images for installing to real hardware
*** Raspberry Pi ([[User:Ryao | ryao]] is working on this)
**** Based on ZFS on Linux, which already works on ARM
**** Some unresolved issues with running out of kernel virtual address space


== General features ==
== General feature ideas ==
* device removal
* device removal
** based on indirect vdevs, rather than bprewrite
** based on indirect vdevs, rather than bprewrite
* resumable send/receive
** work in progress at Delphix
* Storage of small files in dnode
** work in progress at Delphix
* Reflink[http://lwn.net/Articles/331808/] support
* Reflink[http://lwn.net/Articles/331808/] support
* Unified ashift handling [http://www.listbox.com/member/archive/182191/2013/07/search/YXNoaWZ0/sort/subj/page/3/entry/7:58/20130703201427:AEA03DD0-E43E-11E2-A883-F4AAC72FE4D2/]
* Unified ashift handling [http://www.listbox.com/member/archive/182191/2013/07/search/YXNoaWZ0/sort/subj/page/3/entry/7:58/20130703201427:AEA03DD0-E43E-11E2-A883-F4AAC72FE4D2/]
Line 54: Line 57:
** The early ZFS encryption code published in the zfs-crypto repository of OpenSolaris.org could be a starting point. A copy is available from [[User:Ryao | Richard Yao]] upon request.
** The early ZFS encryption code published in the zfs-crypto repository of OpenSolaris.org could be a starting point. A copy is available from [[User:Ryao | Richard Yao]] upon request.
* [http://open-zfs.org/wiki/Project_Ideas/ZFS_Channel_Programs ZFS Channel Programs]
* [http://open-zfs.org/wiki/Project_Ideas/ZFS_Channel_Programs ZFS Channel Programs]
''Please add and edit ideas here''

Revision as of 19:00, 10 September 2013

Active projects

Projects that are currently being worked on. Ideally these should each have a responsible engineer and a link to a design document or page explaining how they will work.

  • resumable send/receive User:Csiden
  • Storage of small files in dnode User:Mahrens
  • Raspberry Pi support ( ryao is working on this)
    • Based on ZFS on Linux, which already works on ARM
    • Some unresolved issues with running out of kernel virtual address space

Inter-platform coordination ideas

Ideas for projects that would help coordinate changes between platforms:

  • Mechanism for pull changes from one place to another
    • Make it easier to build, test, code review, and integrate ZFS changes into illumos
  • Cross-Platform Test Suite
    • One sourcebase rather than porting STF to every platform?
    • Maybe integrate XFS Test Suite
  • Userland ZFS
    • we already have ztest / libzpool
    • want to expand this to also be able to test more of zfs in userland
    • want to be able to run /sbin/zfs, /sbin/zpool against userland implementation
    • want to be able to run most of testrunner (and/or STF) test suite against userland implementation
  • ZFS (ZPL) Version Feature Flags
    • Import ZFS on Linux sa=xattr into Illumos
  • /dev/zfs ioctl interface versioning
    • Ensure that future additions/changes to the interface maintain maximum compatibility with userland tools
    • Enable FreeBSD Linux jails / Illumos lx brandz to use ZFS on Linux utilities
  • Port ZPIOS [1] to Illumos from ZFS on Linux
    • This requires a rewrite to stop using Linux interfaces.
  • Virtual machine images with OpenZFS (see discussion on talk page)
    • to easily try OpenZFS on a choice of distributions within a virtual machine
    • images could be built for running on public clouds
    • images for installing to real hardware

General feature ideas

  • device removal
    • based on indirect vdevs, rather than bprewrite
  • Reflink[2] support
  • Unified ashift handling [3]
  • Collapsible ZAP objects (e.g. fatzip -> microzap downgrades)
  • Raidz Hybrid Allocator (preferably compatible with pool version 29 for Solaris 10u11 compatibility)
  • 1MB blocksize (preferably compatible with pool version 32, as pool-feature-flag)
  • Replace larger ZIO caches with explicit pages.
    • Subproject: Document useful kernel interfaces for page manipulation on various platforms
  • Improved SPA namespace collision management
    • Mostly needed by virtual machine hosts
    • work in progress in Gentoo
    • Temporary pool names in zpool import [4]
    • Temporary pool names in zpool create
  • TRIM Support
    • Realtime TRIM
    • Freespace TRIM
      • Walk metaslab space maps and issue discard commands to the vdevs.
  • Platform agnostic encryption support (preferably compatible with pool version 30, as pool-feature-flag)
    • The early ZFS encryption code published in the zfs-crypto repository of OpenSolaris.org could be a starting point. A copy is available from Richard Yao upon request.
  • ZFS Channel Programs