mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-08-05 00:39:34 +00:00
Also fix cdrom provider use of the new diskfs Signed-off-by: Itxaka <itxaka@spectrocloud.com> Signed-off-by: Itxaka <itxaka@spectrocloud.com> Co-authored-by: Itxaka <itxaka@spectrocloud.com>
38 lines
1.2 KiB
Go
Vendored
38 lines
1.2 KiB
Go
Vendored
// Package filesystem provides interfaces and constants required for filesystem implementations.
|
|
// All interesting implementations are in subpackages, e.g. github.com/diskfs/go-diskfs/filesystem/fat32
|
|
package filesystem
|
|
|
|
import (
|
|
"os"
|
|
)
|
|
|
|
// FileSystem is a reference to a single filesystem on a disk
|
|
type FileSystem interface {
|
|
// Type return the type of filesystem
|
|
Type() Type
|
|
// Mkdir make a directory
|
|
Mkdir(string) error
|
|
// ReadDir read the contents of a directory
|
|
ReadDir(string) ([]os.FileInfo, error)
|
|
// OpenFile open a handle to read or write to a file
|
|
OpenFile(string, int) (File, error)
|
|
// Label get the label for the filesystem, or "" if none. Be careful to trim it, as it may contain
|
|
// leading or following whitespace. The label is passed as-is and not cleaned up at all.
|
|
Label() string
|
|
// SetLabel changes the label on the writable filesystem. Different file system may hav different
|
|
// length constraints.
|
|
SetLabel(string) error
|
|
}
|
|
|
|
// Type represents the type of disk this is
|
|
type Type int
|
|
|
|
const (
|
|
// TypeFat32 is a FAT32 compatible filesystem
|
|
TypeFat32 Type = iota
|
|
// TypeISO9660 is an iso filesystem
|
|
TypeISO9660
|
|
// TypeSquashfs is a squashfs filesystem
|
|
TypeSquashfs
|
|
)
|