overlay

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 25, 2021 License: GPL-3.0 Imports: 45 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Init

func Init(home string, options context.Options) (context.Driver, error)

Init returns the a native diff driver for overlay. If overlay filesystem is not supported on the host, a wrapped context.ErrNotSupported is returned as error. If an overlay filesystem is not supported over an existing filesystem then a wrapped context.ErrIncompatibleFS is returned.

func SupportsNativeOverlay

func SupportsNativeOverlay(graphroot, rundir string) (bool, error)

Types

type Driver

type Driver struct {
	// contains filtered or unexported fields
}

Driver contains information about the home directory and the list of active mounts that are created using this driver.

func (*Driver) AdditionalImageStores

func (d *Driver) AdditionalImageStores() []string

AdditionalImageStores returns additional image stores supported by the driver

func (*Driver) ApplyDiff

func (d *Driver) ApplyDiff(id, parent string, options context.ApplyDiffOpts) (size int64, err error)

ApplyDiff applies the new layer into a root

func (*Driver) ApplyDiffFromStagingDirectory

func (d *Driver) ApplyDiffFromStagingDirectory(id, parent, stagingDirectory string, diffOutput *context.DriverWithDifferOutput, options *context.ApplyDiffOpts) error

ApplyDiffFromStagingDirectory applies the changes using the specified staging directory.

func (*Driver) ApplyDiffWithDiffer

func (d *Driver) ApplyDiffWithDiffer(id, parent string, options *context.ApplyDiffOpts, differ context.Differ) (output context.DriverWithDifferOutput, err error)

ApplyDiff applies the changes in the new layer using the specified function

func (*Driver) Changes

func (d *Driver) Changes(id string, idMappings *idtools.IDMappings, parent string, parentMappings *idtools.IDMappings, mountLabel string) ([]archive.Change, error)

Changes produces a list of changes between the specified layer and its parent layer. If parent is "", then all changes will be ADD changes.

func (*Driver) Cleanup

func (d *Driver) Cleanup() error

Cleanup any state created by overlay which should be cleaned when daemon is being shutdown. For now, we just have to unmount the bind mounted we had created.

func (*Driver) CleanupStagingDirectory

func (d *Driver) CleanupStagingDirectory(stagingDirectory string) error

CleanupStagingDirectory cleanups the staging directory.

func (*Driver) Create

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

Create is used to create the upper, lower, and merge directories required for overlay fs for a given id. The parent filesystem is used to configure these directories for the overlay.

func (*Driver) CreateFromTemplate

func (d *Driver) CreateFromTemplate(id, template string, templateIDMappings *idtools.IDMappings, parent string, parentIDMappings *idtools.IDMappings, opts *context.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 *context.CreateOpts) error

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

func (*Driver) Diff

func (d *Driver) Diff(id string, idMappings *idtools.IDMappings, parent string, parentMappings *idtools.IDMappings, mountLabel string) (io.ReadCloser, error)

Diff produces an archive of the changes between the specified layer and its parent layer which may be "".

func (*Driver) DiffGetter

func (d *Driver) DiffGetter(id string) (context.FileGetCloser, error)

DiffGetter returns a FileGetCloser that can read files from the directory that contains files for the layer differences. Used for direct access for tar-split.

func (*Driver) DiffSize

func (d *Driver) DiffSize(id string, idMappings *idtools.IDMappings, parent string, parentMappings *idtools.IDMappings, mountLabel string) (size int64, err error)

DiffSize calculates the changes between the specified id and its parent and returns the size in bytes of the changes relative to its base filesystem directory.

func (*Driver) DifferTarget

func (d *Driver) DifferTarget(id string) (string, error)

DifferTarget gets the location where files are stored for the layer.

func (*Driver) Exists

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

Exists checks to see if the id is already mounted.

func (*Driver) Get

func (d *Driver) Get(id string, options context.MountOpts) (_ string, retErr error)

Get creates and mounts the required file system for the given id and returns the mount path.

func (*Driver) LookupAdditionalLayer

func (d *Driver) LookupAdditionalLayer(dgst digest.Digest, ref string) (context.AdditionalLayer, error)

LookupAdditionalLayer looks up additional layer store by the specified digest and ref and returns an object representing that layer. This API is experimental and can be changed without bumping the major version number. TODO: to remove the comment once it's no longer experimental.

func (*Driver) LookupAdditionalLayerByID

func (d *Driver) LookupAdditionalLayerByID(id string) (context.AdditionalLayer, error)

LookupAdditionalLayerByID looks up additional layer store by the specified ID and returns an object representing that layer. This API is experimental and can be changed without bumping the major version number. TODO: to remove the comment once it's no longer experimental.

func (*Driver) Metadata

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

Metadata returns meta data about the overlay driver such as LowerDir, UpperDir, WorkDir and MergeDir used to store data.

func (*Driver) Put

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

Put unmounts the mount path created for the give id.

func (*Driver) ReadWriteDiskUsage

func (d *Driver) ReadWriteDiskUsage(id string) (*directory.DiskUsage, error)

ReadWriteDiskUsage returns the disk usage of the writable directory for the ID. For Overlay, it attempts to check the XFS quota for size, and falls back to finding the size of the "diff" directory.

func (*Driver) Remove

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

Remove cleans the directories that are created for this id.

func (*Driver) Status

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

Status returns current driver information in a two dimensional string array. Output contains "Backing Filesystem" used in this implementation.

func (*Driver) String

func (d *Driver) String() string

func (*Driver) SupportsShifting

func (d *Driver) SupportsShifting() bool

SupportsShifting tells whether the driver support shifting of the UIDs/GIDs in an userNS

func (*Driver) UpdateLayerIDMap

func (d *Driver) UpdateLayerIDMap(id string, toContainer, toHost *idtools.IDMappings, mountLabel string) error

UpdateLayerIDMap updates ID mappings in a from matching the ones specified by toContainer to those specified by toHost.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL