Sebastiaan van Stijn 86108812b8 vendor: github.com/mistifyio/go-zfs/v3 v3.0.1 %!s(int64=2) %!d(string=hai) anos
..
.gitignore 86108812b8 vendor: github.com/mistifyio/go-zfs/v3 v3.0.1 %!s(int64=2) %!d(string=hai) anos
.golangci.yml 86108812b8 vendor: github.com/mistifyio/go-zfs/v3 v3.0.1 %!s(int64=2) %!d(string=hai) anos
.yamllint 86108812b8 vendor: github.com/mistifyio/go-zfs/v3 v3.0.1 %!s(int64=2) %!d(string=hai) anos
CHANGELOG.md 86108812b8 vendor: github.com/mistifyio/go-zfs/v3 v3.0.1 %!s(int64=2) %!d(string=hai) anos
CONTRIBUTING.md 86108812b8 vendor: github.com/mistifyio/go-zfs/v3 v3.0.1 %!s(int64=2) %!d(string=hai) anos
LICENSE 86108812b8 vendor: github.com/mistifyio/go-zfs/v3 v3.0.1 %!s(int64=2) %!d(string=hai) anos
Makefile 86108812b8 vendor: github.com/mistifyio/go-zfs/v3 v3.0.1 %!s(int64=2) %!d(string=hai) anos
README.md 86108812b8 vendor: github.com/mistifyio/go-zfs/v3 v3.0.1 %!s(int64=2) %!d(string=hai) anos
Vagrantfile 86108812b8 vendor: github.com/mistifyio/go-zfs/v3 v3.0.1 %!s(int64=2) %!d(string=hai) anos
error.go 86108812b8 vendor: github.com/mistifyio/go-zfs/v3 v3.0.1 %!s(int64=2) %!d(string=hai) anos
lint.mk 86108812b8 vendor: github.com/mistifyio/go-zfs/v3 v3.0.1 %!s(int64=2) %!d(string=hai) anos
rules.mk 86108812b8 vendor: github.com/mistifyio/go-zfs/v3 v3.0.1 %!s(int64=2) %!d(string=hai) anos
shell.nix 86108812b8 vendor: github.com/mistifyio/go-zfs/v3 v3.0.1 %!s(int64=2) %!d(string=hai) anos
utils.go 86108812b8 vendor: github.com/mistifyio/go-zfs/v3 v3.0.1 %!s(int64=2) %!d(string=hai) anos
utils_notsolaris.go 86108812b8 vendor: github.com/mistifyio/go-zfs/v3 v3.0.1 %!s(int64=2) %!d(string=hai) anos
utils_solaris.go 86108812b8 vendor: github.com/mistifyio/go-zfs/v3 v3.0.1 %!s(int64=2) %!d(string=hai) anos
zfs.go 86108812b8 vendor: github.com/mistifyio/go-zfs/v3 v3.0.1 %!s(int64=2) %!d(string=hai) anos
zpool.go 86108812b8 vendor: github.com/mistifyio/go-zfs/v3 v3.0.1 %!s(int64=2) %!d(string=hai) anos

README.md

Go Wrapper for ZFS

Simple wrappers for ZFS command line tools.

GoDoc

Requirements

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.

Status

This has been only been tested on Ubuntu 14.04

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

Hacking

The tests have decent examples for most functions.

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


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()

Contributing

See the contributing guidelines