package compactext4
import "github.com/Microsoft/hcsshim/ext4/internal/compactext4"
Index ¶
- Constants
- func InlineData(w *Writer)
- type File
- type Option
- type Writer
- func NewWriter(f io.ReadWriteSeeker, opts ...Option) *Writer
- func (w *Writer) Close() error
- func (w *Writer) Create(name string, f *File) error
- func (w *Writer) Link(oldname, newname string) error
- func (w *Writer) MakeParents(name string) error
- func (w *Writer) Stat(name string) (*File, error)
- func (w *Writer) Write(b []byte) (int, error)
Constants ¶
const ( S_IXOTH = format.S_IXOTH S_IWOTH = format.S_IWOTH S_IROTH = format.S_IROTH S_IXGRP = format.S_IXGRP S_IWGRP = format.S_IWGRP S_IRGRP = format.S_IRGRP S_IXUSR = format.S_IXUSR S_IWUSR = format.S_IWUSR S_IRUSR = format.S_IRUSR S_ISVTX = format.S_ISVTX S_ISGID = format.S_ISGID S_ISUID = format.S_ISUID S_IFIFO = format.S_IFIFO S_IFCHR = format.S_IFCHR S_IFDIR = format.S_IFDIR S_IFBLK = format.S_IFBLK S_IFREG = format.S_IFREG S_IFLNK = format.S_IFLNK S_IFSOCK = format.S_IFSOCK TypeMask = format.TypeMask )
Mode flags for Linux files.
const (
BlockSize = 4096
)
Functions ¶
func InlineData ¶
func InlineData(w *Writer)
InlineData instructs the Writer to write small files into the inode structures directly. This creates smaller images but currently is not compatible with DAX.
Types ¶
type File ¶
type File struct { Linkname string Size int64 Mode uint16 Uid, Gid uint32 Atime, Ctime, Mtime, Crtime time.Time Devmajor, Devminor uint32 Xattrs map[string][]byte }
A File represents a file to be added to an ext4 file system.
type Option ¶
type Option func(*Writer)
An Option provides extra options to NewWriter.
func MaximumDiskSize ¶
MaximumDiskSize instructs the writer to reserve enough metadata space for the specified disk size. If not provided, then 16GB is the default.
type Writer ¶
type Writer struct {
// contains filtered or unexported fields
}
Writer writes a compact ext4 file system.
It expects all paths to use directory separator '/', even on Windows.
func NewWriter ¶
func NewWriter(f io.ReadWriteSeeker, opts ...Option) *Writer
NewWriter returns a Writer that writes an ext4 file system to the provided ReadWriteSeeker.
func (*Writer) Close ¶
func (*Writer) Create ¶
Create adds a file to the file system.
func (*Writer) Link ¶
Link adds a hard link to the file system. We support creating hardlinks to symlinks themselves instead of what the symlinks link to, as this is what containerd does upstream.
func (*Writer) MakeParents ¶
MakeParents ensures that all the parent directories in the path specified by `name` exists. If they don't exist it creates them (like `mkdir -p`). These non existing parent directories are created with the same permissions as that of it's parent directory. It is expected that the a call to make these parent directories will be made at a later point with the correct permissions, at that time the permissions of these directories will be updated.
func (*Writer) Stat ¶
Stat returns information about a file that has been written.
func (*Writer) Write ¶
Source Files ¶
- Version
- v0.12.9 (latest)
- Published
- Oct 30, 2024
- Platform
- linux/amd64
- Imports
- 12 packages
- Last checked
- 14 hours ago –
Tools for package owners.