ZFS bindings for Ruby
C Ruby
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


= Zetta, Ruby bindings for ZFS

Zetta is a C library interface to ZFS, Sun's shiny new Zettabyte File System,
which made its debut in OpenSolaris. Apparently now, ports are abound to the
stable Solaris 10 release, FreeBSD and the upcoming Mac OS X release. So some
Ruby rock star will have to write an interface to use it or the Ruby hordes
will be left behind!  And we can't have that!

*Please read my mind to discover how this library works until I deign to write
some better documentation.*

== General plan of action

Since I just wrote this in an email to somebody else, I figured it might do to
be repeated here, at least until I start to produce some better documentation:

My C is pretty rusty, so my game plan is to create as thin a wrapper on the
existing C API as possible to transport it into Ruby, then to write some nice
object-oriented Ruby on top to make it a bit more natural to manipulate the
filesystems. That way we stand the least chance of me producing code that'll
seg fault. :-)

= TODO List

* Implement nvlists as a C extension so that I get to screw with them in Ruby
  instead of trying to figure out how to do it all in C.

* The vdev manipulation stuff needs for nvlists to work.