drsect0r / go-zfs

Go wrappers for ZFS commands

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Go Wrapper for ZFS

Simple wrappers for ZFS command line tools.



You need a working ZFS setup. To use on Ubuntu 14.04, setup ZFS:

sudo apt-get install python-software-properties
sudo apt-add-repository ppa:zfs-native/stable
sudo apt-get update
sudo apt-get install ubuntu-zfs libzfs-dev

Developed using Go 1.3, but currently there isn't anything 1.3 specific. Don't use Ubuntu packages for Go, use http://golang.org/doc/install

Generally you need root privileges to use anything zfs related.


This has been only been tested on Ubuntu 14.04

In the future, we hope to work directly with libzfs.


The tests have decent examples for most functions.

//assuming a zpool named test
//error handling ommitted

f, err := zfs.CreateFilesystem("test/snapshot-test", nil)
ok(t, err)

s, err := f.Snapshot("test", nil)
ok(t, err)

// snapshot is named "test/snapshot-test@test"

c, err := s.Clone("test/clone-test", nil)

err := c.Destroy()
err := s.Destroy()
err := f.Destroy()


See the contributing guidelines


Go wrappers for ZFS commands

License:Apache License 2.0


Language:Go 100.0%