package zfs
import "github.com/containers/storage/drivers/zfs"
Index ¶
- func Init(base string, opt graphdriver.Options) (graphdriver.Driver, error)
- type Driver
- func (d *Driver) AdditionalImageStores() []string
- func (d *Driver) Cleanup() error
- func (d *Driver) Create(id, parent string, opts *graphdriver.CreateOpts) error
- func (d *Driver) CreateFromTemplate(id, template string, templateIDMappings *idtools.IDMappings, parent string, parentIDMappings *idtools.IDMappings, opts *graphdriver.CreateOpts, readWrite bool) error
- func (d *Driver) CreateReadWrite(id, parent string, opts *graphdriver.CreateOpts) error
- func (d *Driver) Dedup(req graphdriver.DedupArgs) (graphdriver.DedupResult, error)
- func (d *Driver) Exists(id string) bool
- func (d *Driver) Get(id string, options graphdriver.MountOpts) (_ string, retErr error)
- func (d *Driver) ListLayers() ([]string, error)
- func (d *Driver) Metadata(id string) (map[string]string, error)
- func (d *Driver) Put(id string) error
- func (d *Driver) ReadWriteDiskUsage(id string) (*directory.DiskUsage, error)
- func (d *Driver) Remove(id string) error
- func (d *Driver) Status() [][2]string
- func (d *Driver) String() string
- type Logger
Functions ¶
func Init ¶
func Init(base string, opt graphdriver.Options) (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.
Types ¶
type Driver ¶
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) AdditionalImageStores ¶
AdditionalImageStores returns additional image stores supported by the driver
func (*Driver) Cleanup ¶
Cleanup is called on when program exits, it is a no-op for ZFS.
func (*Driver) Create ¶
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) CreateFromTemplate ¶
func (d *Driver) CreateFromTemplate(id, template string, templateIDMappings *idtools.IDMappings, parent string, parentIDMappings *idtools.IDMappings, opts *graphdriver.CreateOpts, readWrite bool) error
CreateFromTemplate creates a layer with the same contents and parent as another layer.
func (*Driver) CreateReadWrite ¶
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) Dedup ¶
func (d *Driver) Dedup(req graphdriver.DedupArgs) (graphdriver.DedupResult, error)
Dedup performs deduplication of the driver's storage.
func (*Driver) Exists ¶
Exists checks to see if the cache entry exists for the given id.
func (*Driver) Get ¶
Get returns the mountpoint for the given id after creating the target directories if necessary.
func (*Driver) ListLayers ¶
List layers (not including additional image stores). Our layers aren't all dependent on a single well-known dataset, so we can't reliably tell which datasets are ours and which ones just look like they could be ours.
func (*Driver) Metadata ¶
Metadata returns image/container metadata related to graph driver
func (*Driver) Put ¶
Put removes the existing mountpoint for the given id if it exists.
func (*Driver) ReadWriteDiskUsage ¶
ReadWriteDiskUsage returns the disk usage of the writable directory for the ID. For ZFS, it queries the full mount path for this ID.
func (*Driver) Remove ¶
Remove deletes the dataset, filesystem and the cache for the given id.
func (*Driver) Status ¶
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 ¶
type Logger ¶
type Logger struct{}
Logger returns a zfs logger implementation.
func (*Logger) Log ¶
Log wraps log message from ZFS driver with a prefix 'zfs'.
Source Files ¶
- Version
- v1.58.0 (latest)
- Published
- Apr 15, 2025
- Platform
- linux/amd64
- Imports
- 17 packages
- Last checked
- 3 weeks ago –
Tools for package owners.