Versions in this module Expand all Collapse all v0 v0.7.0 Dec 5, 2019 Changes in this version + const MsgIpmctlDiscoverFail + const MsgScmClassNotSupported + const MsgScmNoModules + const MsgScmNotInited + const MsgScmRebootRequired + var FaultDeviceAlreadyMounted = scmFault(code.StorageDeviceAlreadyMounted, "request included already-mounted device", ...) + var FaultDiscoveryFailed = scmFault(code.ScmUnknown, "module discovery failed", "") + var FaultFormatConflictingParam = scmFault(code.ScmFormatBadParam, ...) + var FaultFormatInvalidDeviceCount = scmFault(code.ScmFormatBadParam, "format request must have exactly 1 dcpm device", "") + var FaultFormatInvalidSize = scmFault(code.ScmFormatBadParam, "format request must specify a size greater than 0", ...) + var FaultFormatMissingDevice = scmFault(code.ScmFormatBadParam, "configured SCM device does not exist", ...) + var FaultFormatMissingMountpoint = scmFault(code.ScmFormatBadParam, "format request must specify mountpoint", "") + var FaultFormatMissingParam = scmFault(code.ScmFormatBadParam, "format request must have ramdisk or dcpm parameter", ...) + var FaultFormatNoReformat = scmFault(code.StorageAlreadyFormatted, ...) + var FaultMissingNdctl = scmFault(code.MissingSoftwareDependency, "ndctl utility not found", ...) + var FaultTargetAlreadyMounted = scmFault(code.StorageDeviceAlreadyMounted, ...) + var FaultUnknown = scmFault(code.ScmUnknown, "unknown scm error", "") + type Backend interface + Discover func() (storage.ScmModules, error) + GetNamespaces func() (storage.ScmNamespaces, error) + GetState func() (storage.ScmState, error) + Prep func(storage.ScmState) (bool, storage.ScmNamespaces, error) + PrepReset func(storage.ScmState) (bool, error) + type DcpmParams struct + Device string + type FormatRequest struct + Dcpm *DcpmParams + Forwarded bool + Mountpoint string + OwnerGID int + OwnerUID int + Ramdisk *RamdiskParams + Reformat bool + func CreateFormatRequest(scmCfg storage.ScmConfig, reformat bool) (*FormatRequest, error) + func (fr FormatRequest) Validate() error + type FormatResponse struct + Formatted bool + Mountable bool + Mounted bool + Mountpoint string + type Forwarder struct + func (f *Forwarder) CheckFormat(req FormatRequest) (*FormatResponse, error) + func (f *Forwarder) Format(req FormatRequest) (*FormatResponse, error) + func (f *Forwarder) Mount(req MountRequest) (*MountResponse, error) + func (f *Forwarder) Prepare(req PrepareRequest) (*PrepareResponse, error) + func (f *Forwarder) Scan(req ScanRequest) (*ScanResponse, error) + func (f *Forwarder) Unmount(req MountRequest) (*MountResponse, error) + type MockBackend struct + func DefaultMockBackend() *MockBackend + func NewMockBackend(cfg *MockBackendConfig) *MockBackend + func (mb *MockBackend) Discover() (storage.ScmModules, error) + func (mb *MockBackend) GetNamespaces() (storage.ScmNamespaces, error) + func (mb *MockBackend) GetState() (storage.ScmState, error) + func (mb *MockBackend) Prep(_ storage.ScmState) (bool, storage.ScmNamespaces, error) + func (mb *MockBackend) PrepReset(_ storage.ScmState) (bool, error) + type MockBackendConfig struct + DiscoverErr error + DiscoverRes storage.ScmModules + GetNamespaceErr error + GetNamespaceRes storage.ScmNamespaces + GetStateErr error + NextState storage.ScmState + PrepErr error + PrepNamespaceRes storage.ScmNamespaces + PrepNeedsReboot bool + StartingState storage.ScmState + type MockSysConfig struct + GetfsErr error + GetfsStr string + IsMountedBool bool + IsMountedErr error + MkfsErr error + MountErr error + UnmountErr error + type MockSysProvider struct + func DefaultMockSysProvider() *MockSysProvider + func NewMockSysProvider(cfg *MockSysConfig) *MockSysProvider + func (msp *MockSysProvider) Getfs(_ string) (string, error) + func (msp *MockSysProvider) IsMounted(target string) (bool, error) + func (msp *MockSysProvider) Mkfs(_, _ string, _ bool) error + func (msp *MockSysProvider) Mount(_, _, _ string, _ uintptr, _ string) error + func (msp *MockSysProvider) Unmount(_ string, _ int) error + type MountRequest struct + Data string + Flags uintptr + Forwarded bool + FsType string + Source string + Target string + type MountResponse struct + Mounted bool + Target string + type PrepareRequest struct + Forwarded bool + Reset bool + type PrepareResponse struct + Namespaces storage.ScmNamespaces + RebootRequired bool + State storage.ScmState + type Provider struct + func DefaultMockProvider(log logging.Logger) *Provider + func DefaultProvider(log logging.Logger) *Provider + func NewMockProvider(log logging.Logger, mbc *MockBackendConfig, msc *MockSysConfig) *Provider + func NewProvider(log logging.Logger, backend Backend, sys SystemProvider) *Provider + func (p *Provider) CheckFormat(req FormatRequest) (*FormatResponse, error) + func (p *Provider) Format(req FormatRequest) (*FormatResponse, error) + func (p *Provider) GetState() (storage.ScmState, error) + func (p *Provider) IsMounted(target string) (bool, error) + func (p *Provider) Mount(req MountRequest) (*MountResponse, error) + func (p *Provider) MountDcpm(device, target string) (*MountResponse, error) + func (p *Provider) MountRamdisk(target string, size uint) (*MountResponse, error) + func (p *Provider) Prepare(req PrepareRequest) (res *PrepareResponse, err error) + func (p *Provider) Scan(req ScanRequest) (*ScanResponse, error) + func (p *Provider) Unmount(req MountRequest) (*MountResponse, error) + func (p *Provider) WithForwardingDisabled() *Provider + type RamdiskParams struct + Size uint + type ScanRequest struct + Forwarded bool + Rescan bool + type ScanResponse struct + Modules storage.ScmModules + Namespaces storage.ScmNamespaces + State storage.ScmState + type SystemProvider interface + Getfs func(device string) (string, error) + Mkfs func(fsType, device string, force bool) error