vfs

package
v1.53.0 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2024 License: Apache-2.0 Imports: 17 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Init

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

Init returns a new VFS driver. This sets the home directory for the driver and returns NaiveDiffDriver.

Types

type Driver

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

Driver holds information about the driver, home directory of the driver. Driver implements graphdriver.ProtoDriver. It uses only basic vfs operations. In order to support layering, files are copied from the parent layer into the new layer. There is no copy-on-write support. Driver must be wrapped in NaiveDiffDriver to be used as a graphdriver.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 graphdriver.ApplyDiffOpts) (size int64, err error)

ApplyDiff applies the new layer into a root

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 is used to implement graphdriver.ProtoDriver. There is no cleanup required for this driver.

func (*Driver) Create

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

Create prepares the filesystem for the VFS driver and copies the directory 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) 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) (graphdriver.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) Exists

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

Exists checks to see if the directory exists for the given id.

func (*Driver) Get

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

Get returns the directory for the given id.

func (*Driver) ListLayers added in v0.46.1

func (d *Driver) ListLayers() ([]string, error)

List layers (not including additional image stores)

func (*Driver) Metadata

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

Metadata is used for implementing the graphdriver.ProtoDriver interface. VFS does not currently have any meta data.

func (*Driver) Put

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

Put is a noop for vfs that return nil for the error, since this driver has no runtime resources to clean up.

func (*Driver) ReadWriteDiskUsage added in v0.46.1

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

ReadWriteDiskUsage returns the disk usage of the writable directory for the ID. For VFS, it queries the directory for this ID.

func (*Driver) Remove

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

Remove deletes the content from the directory for a given id.

func (*Driver) Status

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

Status is used for implementing the graphdriver.ProtoDriver interface. VFS does not currently have any status information.

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