filesystem

package
v0.14.0 Latest Latest
Warning

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

Go to latest
Published: Aug 2, 2024 License: Apache-2.0 Imports: 33 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Filesystem

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

func NewFileSystem

func NewFileSystem(ctx context.Context, opt ...NewFSOpt) (*Filesystem, error)

NewFileSystem initialize Filesystem instance It does mount image layers by starting nydusd doing FUSE mount or not.

func (*Filesystem) BootstrapFile

func (fs *Filesystem) BootstrapFile(id string) (string, error)

func (*Filesystem) CacheUsage

func (fs *Filesystem) CacheUsage(ctx context.Context, blobDigest string) (snapshots.Usage, error)

How much space the layer/blob cache filesystem is occupying The blob digest mush have `sha256:` prefixed, otherwise, throw errors.

func (*Filesystem) CheckReferrer added in v0.8.0

func (fs *Filesystem) CheckReferrer(ctx context.Context, labels map[string]string) bool

func (*Filesystem) DetachTarfsLayer added in v0.12.0

func (fs *Filesystem) DetachTarfsLayer(snapshotID string) error

func (*Filesystem) ExportBlockData added in v0.12.0

func (fs *Filesystem) ExportBlockData(s storage.Snapshot, perLayer bool, labels map[string]string,
	storageLocater func(string) string) ([]string, error)

func (*Filesystem) GetDaemonByID added in v0.10.0

func (fs *Filesystem) GetDaemonByID(id string) (*daemon.Daemon, error)

func (*Filesystem) GetTarfsImageDiskFilePath added in v0.12.0

func (fs *Filesystem) GetTarfsImageDiskFilePath(id string) (string, error)

func (*Filesystem) GetTarfsLayerDiskFilePath added in v0.13.5

func (fs *Filesystem) GetTarfsLayerDiskFilePath(id string) (string, error)

func (*Filesystem) IsStargzDataLayer

func (fs *Filesystem) IsStargzDataLayer(labels map[string]string) (bool, *stargz.Blob)

Detect if the blob is type of estargz by downloading its footer since estargz image does not have any characteristic annotation.

func (*Filesystem) MergeStargzMetaLayer

func (fs *Filesystem) MergeStargzMetaLayer(ctx context.Context, s storage.Snapshot) error

func (*Filesystem) MergeTarfsLayers added in v0.12.0

func (fs *Filesystem) MergeTarfsLayers(s storage.Snapshot, storageLocater func(string) string) error

func (*Filesystem) Mount

func (fs *Filesystem) Mount(ctx context.Context, snapshotID string, labels map[string]string, s *storage.Snapshot) (err error)

Mount will be called when containerd snapshotter prepare remote snapshotter this method will fork nydus daemon and manage it in the internal store, and indexed by snapshotID It must set up all necessary resources during Mount procedure and revoke any step if necessary.

func (*Filesystem) MountPoint

func (fs *Filesystem) MountPoint(snapshotID string) (string, error)

func (*Filesystem) PrepareStargzMetaLayer

func (fs *Filesystem) PrepareStargzMetaLayer(blob *stargz.Blob, storagePath string, _ map[string]string) error

Generate nydus bootstrap from stargz layers Download estargz TOC part from each layer as `nydus-image` conversion source. After conversion, a nydus metadata or bootstrap is used to pointing to each estargz blob

func (*Filesystem) PrepareTarfsLayer added in v0.12.0

func (fs *Filesystem) PrepareTarfsLayer(ctx context.Context, labels map[string]string, snapshotID, upperDirPath string) error

func (*Filesystem) ReferrerDetectEnabled added in v0.8.0

func (fs *Filesystem) ReferrerDetectEnabled() bool

func (*Filesystem) RemoveCache

func (fs *Filesystem) RemoveCache(blobDigest string) error

func (*Filesystem) StargzEnabled

func (fs *Filesystem) StargzEnabled() bool

func (*Filesystem) StargzLayer

func (fs *Filesystem) StargzLayer(labels map[string]string) bool

func (*Filesystem) TarfsEnabled added in v0.12.0

func (fs *Filesystem) TarfsEnabled() bool

func (*Filesystem) Teardown

func (fs *Filesystem) Teardown(ctx context.Context) error

Try to stop all the running daemons if they are not referenced by any snapshots Clean up resources along with the daemons.

func (*Filesystem) TryFetchMetadata added in v0.8.0

func (fs *Filesystem) TryFetchMetadata(ctx context.Context, labels map[string]string, metadataPath string) error

func (*Filesystem) TryRetainSharedDaemon added in v0.7.0

func (fs *Filesystem) TryRetainSharedDaemon(d *daemon.Daemon)

func (*Filesystem) TryStopSharedDaemon

func (fs *Filesystem) TryStopSharedDaemon()

func (*Filesystem) Umount

func (fs *Filesystem) Umount(_ context.Context, snapshotID string) error

func (*Filesystem) UpperPath

func (fs *Filesystem) UpperPath(id string) string

func (*Filesystem) WaitUntilReady

func (fs *Filesystem) WaitUntilReady(snapshotID string) error

WaitUntilReady wait until daemon ready by snapshotID, it will wait until nydus domain socket established and the status of nydusd daemon must be ready

type NewFSOpt

type NewFSOpt func(d *Filesystem) error

func WithCacheManager

func WithCacheManager(cm *cache.Manager) NewFSOpt

func WithEnableStargz

func WithEnableStargz(enable bool) NewFSOpt

func WithManagers added in v0.12.0

func WithManagers(managers []*manager.Manager) NewFSOpt

func WithNydusImageBinaryPath

func WithNydusImageBinaryPath(p string) NewFSOpt

func WithReferrerManager added in v0.8.0

func WithReferrerManager(rm *referrer.Manager) NewFSOpt

func WithRootMountpoint

func WithRootMountpoint(mountpoint string) NewFSOpt

func WithTarfsManager added in v0.12.0

func WithTarfsManager(tm *tarfs.Manager) NewFSOpt

func WithVerifier

func WithVerifier(verifier *signature.Verifier) NewFSOpt

Jump to

Keyboard shortcuts

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