fsutils

package
v1.5.1 Latest Latest
Warning

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

Go to latest
Published: Aug 12, 2024 License: GPL-3.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SecureDelete       uint32 = chattr.FS_SECRM_FL        // Secure deletion
	UnDelete                  = chattr.FS_UNRM_FL         // Undelete
	CompressFile              = chattr.FS_COMPR_FL        // Compress file
	SyncUpdatechattr          = chattr.FS_SYNC_FL         // Synchronous updates
	Immutable                 = chattr.FS_IMMUTABLE_FL    // Immutable file
	AppendOnly                = chattr.FS_APPEND_FL       // Writes to file may only append
	NoDumpFile                = chattr.FS_NODUMP_FL       // Do not dump file
	NoUpdateAtime             = chattr.FS_NOATIME_FL      // Do not update atime
	IsDirty                   = chattr.FS_DIRTY_FL        // Nobody knows what this does, lol.
	CompressedClusters        = chattr.FS_COMPRBLK_FL     // One or more compressed clusters
	NoCompress                = chattr.FS_NOCOMP_FL       // Don't compress
	EncFile                   = chattr.FS_ENCRYPT_FL      // Encrypted file
	BtreeFmt                  = chattr.FS_BTREE_FL        // Btree format dir
	HashIdxDir                = chattr.FS_INDEX_FL        // Hash-indexed directory
	AfsDir                    = chattr.FS_IMAGIC_FL       // AFS directory
	ReservedExt3              = chattr.FS_JOURNAL_DATA_FL // Reserved for ext3
	NoMergeTail               = chattr.FS_NOTAIL_FL       // File tail should not be merged
	DirSync                   = chattr.FS_DIRSYNC_FL      // dirsync behaviour (directories only)
	DirTop                    = chattr.FS_TOPDIR_FL       // Top of directory hierarchies
	ReservedExt4a             = chattr.FS_HUGE_FILE_FL    // Reserved for ext4
	Extents                   = chattr.FS_EXTENT_FL       // Extents
	LargeEaInode              = chattr.FS_EA_INODE_FL     // Inode used for large EA
	ReservedExt4b             = chattr.FS_EOFBLOCKS_FL    // Reserved for ext4
	NoCOWFile                 = chattr.FS_NOCOW_FL        // Do not cow file
	ReservedExt4c             = chattr.FS_INLINE_DATA_FL  // Reserved for ext4
	UseParentProjId           = chattr.FS_PROJINHERIT_FL  // Create with parents projid
	ReservedExt2              = chattr.FS_RESERVED_FL     // Reserved for ext2 lib
)

https://github.com/torvalds/linux/blob/master/include/uapi/linux/fs.h

Variables

View Source
var (
	// AttrNameValueMap contains a mapping of attribute names (as designated by this package) to their flag values.
	AttrNameValueMap map[string]uint32 = map[string]uint32{
		"SecureDelete":       SecureDelete,
		"UnDelete":           UnDelete,
		"CompressFile":       CompressFile,
		"SyncUpdatechattr":   SyncUpdatechattr,
		"Immutable":          Immutable,
		"AppendOnly":         AppendOnly,
		"NoDumpFile":         NoDumpFile,
		"NoUpdateAtime":      NoUpdateAtime,
		"IsDirty":            IsDirty,
		"CompressedClusters": CompressedClusters,
		"NoCompress":         NoCompress,
		"EncFile":            EncFile,
		"BtreeFmt":           BtreeFmt,
		"HashIdxDir":         HashIdxDir,
		"AfsDir":             AfsDir,
		"ReservedExt3":       ReservedExt3,
		"NoMergeTail":        NoMergeTail,
		"DirSync":            DirSync,
		"DirTop":             DirTop,
		"ReservedExt4a":      ReservedExt4a,
		"Extents":            Extents,
		"LargeEaInode":       LargeEaInode,
		"ReservedExt4b":      ReservedExt4b,
		"NoCOWFile":          NoCOWFile,
		"ReservedExt4c":      ReservedExt4c,
		"UseParentProjId":    UseParentProjId,
		"ReservedExt2":       ReservedExt2,
	}
	/*
		AttrValueNameMap contains a mapping of attribute flags to their names (as designated by this package).
		Note the oddball here, BtreeFmt and HashIdxDir are actually the same value, so be forewarned.
	*/
	AttrValueNameMap map[uint32]string = map[uint32]string{
		SecureDelete:       "SecureDelete",
		UnDelete:           "UnDelete",
		CompressFile:       "CompressFile",
		SyncUpdatechattr:   "SyncUpdatechattr",
		Immutable:          "Immutable",
		AppendOnly:         "AppendOnly",
		NoDumpFile:         "NoDumpFile",
		NoUpdateAtime:      "NoUpdateAtime",
		IsDirty:            "IsDirty",
		CompressedClusters: "CompressedClusters",
		NoCompress:         "NoCompress",
		EncFile:            "EncFile",
		BtreeFmt:           "BtreeFmt|HashIdxDir",
		AfsDir:             "AfsDir",
		ReservedExt3:       "ReservedExt3",
		NoMergeTail:        "NoMergeTail",
		DirSync:            "DirSync",
		DirTop:             "DirTop",
		ReservedExt4a:      "ReservedExt4a",
		Extents:            "Extents",
		LargeEaInode:       "LargeEaInode",
		ReservedExt4b:      "ReservedExt4b",
		NoCOWFile:          "NoCOWFile",
		ReservedExt4c:      "ReservedExt4c",
		UseParentProjId:    "UseParentProjId",
		ReservedExt2:       "ReservedExt2",
	}
)

Functions

This section is empty.

Types

type FsAttrs

type FsAttrs struct {
	SecureDelete       bool
	UnDelete           bool
	CompressFile       bool
	SyncUpdatechattr   bool
	Immutable          bool
	AppendOnly         bool
	NoDumpFile         bool
	NoUpdateAtime      bool
	IsDirty            bool
	CompressedClusters bool
	NoCompress         bool
	EncFile            bool
	BtreeFmt           bool
	HashIdxDir         bool
	AfsDir             bool
	ReservedExt3       bool
	NoMergeTail        bool
	DirSync            bool
	DirTop             bool
	ReservedExt4a      bool
	Extents            bool
	LargeEaInode       bool
	ReservedExt4b      bool
	NoCOWFile          bool
	ReservedExt4c      bool
	UseParentProjId    bool
	ReservedExt2       bool
}

FsAttrs is a convenience struct around github.com/g0rbe/go-chattr.

func GetAttrs

func GetAttrs(path string) (attrs *FsAttrs, err error)

func (*FsAttrs) Apply

func (f *FsAttrs) Apply(path string) (err error)

Jump to

Keyboard shortcuts

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