docker: github.com/docker/docker/daemon/graphdriver/zfs Index | Files

package zfs

import "github.com/docker/docker/daemon/graphdriver/zfs"

Index

Package Files

zfs.go zfs_linux.go

func Init Uses

func Init(base string, opt []string, uidMaps, gidMaps []idtools.IDMap) (graphdriver.Driver, error)

Init returns a new ZFS driver. It takes base mount path and an array of options which are represented as key value pairs. Each option is in the for key=value. 'zfs.fsname' is expected to be a valid key in the options.

type Driver Uses

type Driver struct {
    sync.Mutex // protects filesystem cache against concurrent access
    // contains filtered or unexported fields
}

Driver holds information about the driver, such as zfs dataset, options and cache.

func (*Driver) Cleanup Uses

func (d *Driver) Cleanup() error

Cleanup is called on daemon shutdown, it is a no-op for ZFS. TODO(@cpuguy83): Walk layer tree and check mounts?

func (*Driver) Create Uses

func (d *Driver) Create(id, parent string, opts *graphdriver.CreateOpts) error

Create prepares the dataset and filesystem for the ZFS driver for the given id under the parent.

func (*Driver) CreateReadWrite Uses

func (d *Driver) CreateReadWrite(id, parent string, opts *graphdriver.CreateOpts) error

CreateReadWrite creates a layer that is writable for use as a container file system.

func (*Driver) Exists Uses

func (d *Driver) Exists(id string) bool

Exists checks to see if the cache entry exists for the given id.

func (*Driver) Get Uses

func (d *Driver) Get(id, mountLabel string) (_ containerfs.ContainerFS, retErr error)

Get returns the mountpoint for the given id after creating the target directories if necessary.

func (*Driver) GetMetadata Uses

func (d *Driver) GetMetadata(id string) (map[string]string, error)

GetMetadata returns image/container metadata related to graph driver

func (*Driver) Put Uses

func (d *Driver) Put(id string) error

Put removes the existing mountpoint for the given id if it exists.

func (*Driver) Remove Uses

func (d *Driver) Remove(id string) error

Remove deletes the dataset, filesystem and the cache for the given id.

func (*Driver) Status Uses

func (d *Driver) Status() [][2]string

Status returns information about the ZFS filesystem. It returns a two dimensional array of information such as pool name, dataset name, disk usage, parent quota and compression used. Currently it return 'Zpool', 'Zpool Health', 'Parent Dataset', 'Space Used By Parent', 'Space Available', 'Parent Quota' and 'Compression'.

func (*Driver) String Uses

func (d *Driver) String() string

type Logger Uses

type Logger struct{}

Logger returns a zfs logger implementation.

func (*Logger) Log Uses

func (*Logger) Log(cmd []string)

Log wraps log message from ZFS driver with a prefix '[zfs]'.

Package zfs imports 19 packages (graph) and is imported by 555 packages. Updated 2020-12-10. Refresh now. Tools for package owners.