Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func All

func All(mounts []Mount, target string) error

    All mounts all the provided mounts to the provided target

    func CleanupTempMounts

    func CleanupTempMounts(flags int) (warnings []error, err error)

      CleanupTempMounts all temp mounts and remove the directories

      func SetTempMountLocation

      func SetTempMountLocation(root string) error

        SetTempMountLocation sets the temporary mount location

        func Unmount

        func Unmount(target string, flags int) error

          Unmount the provided mount path with the flags

          func UnmountAll

          func UnmountAll(mount string, flags int) error

            UnmountAll repeatedly unmounts the given mount point until there are no mounts remaining (EINVAL is returned by mount), which is useful for undoing a stack of mounts on the same mount point. UnmountAll all is noop when the first argument is an empty string. This is done when the containerd client did not specify any rootfs mounts (e.g. because the rootfs is managed outside containerd) UnmountAll is noop when the mount path does not exist.

            func WithTempMount

            func WithTempMount(ctx context.Context, mounts []Mount, f func(root string) error) (err error)

              WithTempMount mounts the provided mounts to a temp dir, and pass the temp dir to f. The mounts are valid during the call to the f. Finally we will unmount and remove the temp dir regardless of the result of f.

              Types

              type Info

              type Info struct {
              	// ID is a unique identifier of the mount (may be reused after umount).
              	ID int
              
              	// Parent indicates the ID of the mount parent (or of self for the top of the
              	// mount tree).
              	Parent int
              
              	// Major indicates one half of the device ID which identifies the device class.
              	Major int
              
              	// Minor indicates one half of the device ID which identifies a specific
              	// instance of device.
              	Minor int
              
              	// Root of the mount within the filesystem.
              	Root string
              
              	// Mountpoint indicates the mount point relative to the process's root.
              	Mountpoint string
              
              	// Options represents mount-specific options.
              	Options string
              
              	// Optional represents optional fields.
              	Optional string
              
              	// FSType indicates the type of filesystem, such as EXT3.
              	FSType string
              
              	// Source indicates filesystem specific information or "none".
              	Source string
              
              	// VFSOptions represents per super block options.
              	VFSOptions string
              }

                Info reveals information about a particular mounted filesystem. This struct is populated from the content in the /proc/<pid>/mountinfo file.

                func Lookup

                func Lookup(dir string) (Info, error)

                  Lookup returns the mount info corresponds to the path.

                  func PID

                  func PID(pid int) ([]Info, error)

                    PID collects the mounts for a specific process ID. If the process ID is unknown, it is better to use `Self` which will inspect "/proc/self/mountinfo" instead.

                    func Self

                    func Self() ([]Info, error)

                      Self retrieves a list of mounts for the current running process.

                      type Mount

                      type Mount struct {
                      	// Type specifies the host-specific of the mount.
                      	Type string
                      	// Source specifies where to mount from. Depending on the host system, this
                      	// can be a source path or device.
                      	Source string
                      	// Options contains zero or more fstab-style mount options. Typically,
                      	// these are platform specific.
                      	Options []string
                      }

                        Mount is the lingua franca of containerd. A mount represents a serialized mount syscall. Components either emit or consume mounts.

                        func (*Mount) Mount

                        func (m *Mount) Mount(target string) error

                          Mount to the provided target path.

                          If m.Type starts with "fuse." or "fuse3.", "mount.fuse" or "mount.fuse3" helper binary is called.