Skip to content

Instantly share code, notes, and snippets.

@trisk
Created December 3, 2015 17:06
Show Gist options
  • Save trisk/4e902b5f0db88b954067 to your computer and use it in GitHub Desktop.
Save trisk/4e902b5f0db88b954067 to your computer and use it in GitHub Desktop.

Constraints for integration

  • ZFS changes depend directly on Linux kernel supporting our new namespace
  • Current namespace framework means namespace additions are invasive
  • clone(2) flags parameter is nearly out of available bits for new namespaces.

Requirements

  • Design of namespace changes needs to be considered useful for non-ZFS consumers to be palatable to upstream
  • Must have a good case for using one of the last available clone(2) flags

Possible solution

Instead of adding new namespace directly, introduce an extensible framework for namespaces. This would allow external modules to act as namespace providers. The last clone(2) flag could indicate an additional parameter to be read for namespace information. This solves an existing problem for upstream and is more likely to be accepted.

We would then only have to provide a separate external module for our own namespace, which is easier to maintain outside of the kernel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment