mirror of
https://github.com/moby/moby.git
synced 2026-01-11 10:41:43 +00:00
daemon/internal/fstype: make FsMagic values not platform-dependent
While detection of filesystem-types may not be supported on all platforms, it should be ok to define the types; this would allow for these types to be used to print names (e.g.) in cross-platform situations. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
@@ -3,8 +3,56 @@ package fstype
|
||||
// FsMagic unsigned id of the filesystem in use.
|
||||
type FsMagic uint32
|
||||
|
||||
// FsMagicUnsupported is a predefined constant value other than a valid filesystem id.
|
||||
const FsMagicUnsupported = FsMagic(0x00000000)
|
||||
const (
|
||||
FsMagicUnsupported FsMagic = 0x00000000 // FsMagicUnsupported is a predefined constant value other than a valid filesystem id.
|
||||
|
||||
FsMagicAufs FsMagic = 0x61756673 // FsMagicAufs filesystem id for Aufs.
|
||||
FsMagicBtrfs FsMagic = 0x9123683E // FsMagicBtrfs filesystem id for Btrfs.
|
||||
FsMagicCramfs FsMagic = 0x28cd3d45 // FsMagicCramfs filesystem id for Cramfs.
|
||||
FsMagicEcryptfs FsMagic = 0xf15f // FsMagicEcryptfs filesystem id for eCryptfs.
|
||||
FsMagicExtfs FsMagic = 0x0000EF53 // FsMagicExtfs filesystem id for Extfs.
|
||||
FsMagicF2fs FsMagic = 0xF2F52010 // FsMagicF2fs filesystem id for F2fs.
|
||||
FsMagicGPFS FsMagic = 0x47504653 // FsMagicGPFS filesystem id for GPFS.
|
||||
FsMagicJffs2Fs FsMagic = 0x000072b6 // FsMagicJffs2Fs filesystem if for Jffs2Fs.
|
||||
FsMagicJfs FsMagic = 0x3153464a // FsMagicJfs filesystem id for Jfs.
|
||||
FsMagicNfsFs FsMagic = 0x00006969 // FsMagicNfsFs filesystem id for NfsFs.
|
||||
FsMagicRAMFs FsMagic = 0x858458f6 // FsMagicRAMFs filesystem id for RamFs.
|
||||
FsMagicReiserFs FsMagic = 0x52654973 // FsMagicReiserFs filesystem id for ReiserFs.
|
||||
FsMagicSmbFs FsMagic = 0x0000517B // FsMagicSmbFs filesystem id for SmbFs.
|
||||
FsMagicSquashFs FsMagic = 0x73717368 // FsMagicSquashFs filesystem id for SquashFs.
|
||||
FsMagicTmpFs FsMagic = 0x01021994 // FsMagicTmpFs filesystem id for TmpFs.
|
||||
FsMagicVxFS FsMagic = 0xa501fcf5 // FsMagicVxFS filesystem id for VxFs.
|
||||
FsMagicXfs FsMagic = 0x58465342 // FsMagicXfs filesystem id for Xfs.
|
||||
FsMagicZfs FsMagic = 0x2fc12fc1 // FsMagicZfs filesystem id for Zfs.
|
||||
FsMagicOverlay FsMagic = 0x794C7630 // FsMagicOverlay filesystem id for overlayFs.
|
||||
FsMagicFUSE FsMagic = 0x65735546 // FsMagicFUSE filesystem id for FUSE.
|
||||
)
|
||||
|
||||
// FsNames maps filesystem id to name of the filesystem.
|
||||
var FsNames = map[FsMagic]string{
|
||||
FsMagicUnsupported: "unsupported",
|
||||
|
||||
FsMagicAufs: "aufs",
|
||||
FsMagicBtrfs: "btrfs",
|
||||
FsMagicCramfs: "cramfs",
|
||||
FsMagicEcryptfs: "ecryptfs",
|
||||
FsMagicExtfs: "extfs",
|
||||
FsMagicF2fs: "f2fs",
|
||||
FsMagicFUSE: "fuse",
|
||||
FsMagicGPFS: "gpfs",
|
||||
FsMagicJffs2Fs: "jffs2",
|
||||
FsMagicJfs: "jfs",
|
||||
FsMagicNfsFs: "nfs",
|
||||
FsMagicOverlay: "overlayfs",
|
||||
FsMagicRAMFs: "ramfs",
|
||||
FsMagicReiserFs: "reiserfs",
|
||||
FsMagicSmbFs: "smb",
|
||||
FsMagicSquashFs: "squashfs",
|
||||
FsMagicTmpFs: "tmpfs",
|
||||
FsMagicVxFS: "vxfs",
|
||||
FsMagicXfs: "xfs",
|
||||
FsMagicZfs: "zfs",
|
||||
}
|
||||
|
||||
// GetFSMagic returns the filesystem id given the path. It returns an error
|
||||
// when failing to detect the filesystem. it returns [FsMagicUnsupported]
|
||||
|
||||
@@ -2,76 +2,6 @@ package fstype
|
||||
|
||||
import "golang.org/x/sys/unix"
|
||||
|
||||
const (
|
||||
// FsMagicAufs filesystem id for Aufs
|
||||
FsMagicAufs = FsMagic(0x61756673)
|
||||
// FsMagicBtrfs filesystem id for Btrfs
|
||||
FsMagicBtrfs = FsMagic(0x9123683E)
|
||||
// FsMagicCramfs filesystem id for Cramfs
|
||||
FsMagicCramfs = FsMagic(0x28cd3d45)
|
||||
// FsMagicEcryptfs filesystem id for eCryptfs
|
||||
FsMagicEcryptfs = FsMagic(0xf15f)
|
||||
// FsMagicExtfs filesystem id for Extfs
|
||||
FsMagicExtfs = FsMagic(0x0000EF53)
|
||||
// FsMagicF2fs filesystem id for F2fs
|
||||
FsMagicF2fs = FsMagic(0xF2F52010)
|
||||
// FsMagicGPFS filesystem id for GPFS
|
||||
FsMagicGPFS = FsMagic(0x47504653)
|
||||
// FsMagicJffs2Fs filesystem if for Jffs2Fs
|
||||
FsMagicJffs2Fs = FsMagic(0x000072b6)
|
||||
// FsMagicJfs filesystem id for Jfs
|
||||
FsMagicJfs = FsMagic(0x3153464a)
|
||||
// FsMagicNfsFs filesystem id for NfsFs
|
||||
FsMagicNfsFs = FsMagic(0x00006969)
|
||||
// FsMagicRAMFs filesystem id for RamFs
|
||||
FsMagicRAMFs = FsMagic(0x858458f6)
|
||||
// FsMagicReiserFs filesystem id for ReiserFs
|
||||
FsMagicReiserFs = FsMagic(0x52654973)
|
||||
// FsMagicSmbFs filesystem id for SmbFs
|
||||
FsMagicSmbFs = FsMagic(0x0000517B)
|
||||
// FsMagicSquashFs filesystem id for SquashFs
|
||||
FsMagicSquashFs = FsMagic(0x73717368)
|
||||
// FsMagicTmpFs filesystem id for TmpFs
|
||||
FsMagicTmpFs = FsMagic(0x01021994)
|
||||
// FsMagicVxFS filesystem id for VxFs
|
||||
FsMagicVxFS = FsMagic(0xa501fcf5)
|
||||
// FsMagicXfs filesystem id for Xfs
|
||||
FsMagicXfs = FsMagic(0x58465342)
|
||||
// FsMagicZfs filesystem id for Zfs
|
||||
FsMagicZfs = FsMagic(0x2fc12fc1)
|
||||
// FsMagicOverlay filesystem id for overlay
|
||||
FsMagicOverlay = FsMagic(0x794C7630)
|
||||
// FsMagicFUSE filesystem id for FUSE
|
||||
FsMagicFUSE = FsMagic(0x65735546)
|
||||
)
|
||||
|
||||
var (
|
||||
// FsNames maps filesystem id to name of the filesystem.
|
||||
FsNames = map[FsMagic]string{
|
||||
FsMagicAufs: "aufs",
|
||||
FsMagicBtrfs: "btrfs",
|
||||
FsMagicCramfs: "cramfs",
|
||||
FsMagicEcryptfs: "ecryptfs",
|
||||
FsMagicExtfs: "extfs",
|
||||
FsMagicF2fs: "f2fs",
|
||||
FsMagicFUSE: "fuse",
|
||||
FsMagicGPFS: "gpfs",
|
||||
FsMagicJffs2Fs: "jffs2",
|
||||
FsMagicJfs: "jfs",
|
||||
FsMagicNfsFs: "nfs",
|
||||
FsMagicOverlay: "overlayfs",
|
||||
FsMagicRAMFs: "ramfs",
|
||||
FsMagicReiserFs: "reiserfs",
|
||||
FsMagicSmbFs: "smb",
|
||||
FsMagicSquashFs: "squashfs",
|
||||
FsMagicTmpFs: "tmpfs",
|
||||
FsMagicUnsupported: "unsupported",
|
||||
FsMagicVxFS: "vxfs",
|
||||
FsMagicXfs: "xfs",
|
||||
FsMagicZfs: "zfs",
|
||||
}
|
||||
)
|
||||
|
||||
// getFSMagic returns the filesystem id given the path.
|
||||
func getFSMagic(rootpath string) (FsMagic, error) {
|
||||
var buf unix.Statfs_t
|
||||
|
||||
Reference in New Issue
Block a user