storage

package
v0.15.0-unstable11 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateSNAPRaidRoute

func CreateSNAPRaidRoute(w http.ResponseWriter, req *http.Request)

CreateSNAPRaidRoute creates a SnapRAID configuration

func CreateSinglePartition

func CreateSinglePartition(diskPath string) (io.Reader, error)

func CreateSnapRAID

func CreateSnapRAID(raidOptions utils.SnapRAIDConfig) error

Create a SnapRAID configuration

func FormatDisk

func FormatDisk(diskPath string, filesystemType string) (io.Reader, error)

func FormatDiskRoute

func FormatDiskRoute(w http.ResponseWriter, req *http.Request)

func GetDiskUsage

func GetDiskUsage(path string) (perc uint64, err error)

func IsDiskMounted

func IsDiskMounted(diskPath string) (bool, error)

check if disk is mounted

func ListDisksRoute

func ListDisksRoute(w http.ResponseWriter, req *http.Request)

func ListMountsRoute

func ListMountsRoute(w http.ResponseWriter, req *http.Request)

func MergeRoute

func MergeRoute(w http.ResponseWriter, req *http.Request)

MergeRoute handles merging filesystem requests

func Mount

func Mount(path, mountpoint string, permanent bool, chown string) error

Mount mounts a filesystem located at 'path' to 'mountpoint'.

func MountMergerFS

func MountMergerFS(paths []string, mountpoint string, opts string, permanent bool, chown string) error

Mount mounts a filesystem located at 'path' to 'mountpoint'.

func MountRoute

func MountRoute(w http.ResponseWriter, req *http.Request)

MountRoute handles mounting filesystem requests

func Unmount

func Unmount(mountpoint string, permanent bool) error

Unmount unmounts the filesystem at 'mountpoint'.

func UnmountRoute

func UnmountRoute(w http.ResponseWriter, req *http.Request)

UnmountRoute handles unmounting filesystem requests

Types

type BlockDevice

type BlockDevice struct {
	lsblk.BlockDevice
	Children []BlockDevice           `json:"children"`
	Usage    uint64                  `json:"usage"`
	SMART    smart.GenericAttributes `json:"smart"` // Add SMART data field
}

func GetRecursiveDiskUsageAndSMARTInfo

func GetRecursiveDiskUsageAndSMARTInfo(devices []lsblk.BlockDevice) ([]BlockDevice, error)

func ListDisks

func ListDisks() ([]BlockDevice, error)

type DiskInfo

type DiskInfo struct {
	Path string
	Name string
	Size uint64
	Used uint64
}

type FormatDiskJSON

type FormatDiskJSON struct {
	Disk     string `json:"disk"`
	Format   string `json:"format"`
	Password string `json:"password"`
}

type MergeRequest

type MergeRequest struct {
	Branches   []string `json:"branches"`
	MountPoint string   `json:"mountPoint"`
	Permanent  bool     `json:"permanent"`
	Chown      string   `json:"chown"`
	Opts       string   `json:"opts"`
}

Assuming the structure for the mount/unmount request

type MountPoint

type MountPoint struct {
	Path      string   `json:"path"`
	Permenant bool     `json:"permenant"`
	Device    string   `json:"device"`
	Type      string   `json:"type"`
	Opts      []string `json:"opts"`
}

func ListMounts

func ListMounts() ([]MountPoint, error)

ListMounts lists all the mount points on the system

type MountRequest

type MountRequest struct {
	Path       string `json:"path"`
	MountPoint string `json:"mountPoint"`
	Permanent  bool   `json:"permanent"`
	Chown      string `json:"chown"`
}

Assuming the structure for the mount/unmount request

Jump to

Keyboard shortcuts

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