You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
k3s/vendor/github.com/mistifyio/go-zfs
Erik Wilson daa4beb22c
Update go.mod for k8s 1.19
4 years ago
..
.gitignore Update vendor 6 years ago
.travis.yml Update go.mod for k8s 1.19 4 years ago
CONTRIBUTING.md Update vendor 6 years ago
LICENSE Update vendor 6 years ago
README.md Update go.mod for k8s 1.19 4 years ago
Vagrantfile Update vendor 6 years ago
error.go Update vendor 6 years ago
utils.go Update go.mod for k8s 1.19 4 years ago
utils_notsolaris.go Update go.mod for k8s 1.19 4 years ago
utils_solaris.go Update go.mod for k8s 1.19 4 years ago
zfs.go Update go.mod for k8s 1.19 4 years ago
zpool.go Update go.mod for k8s 1.19 4 years ago

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