Versions in this module Expand all Collapse all v0 v0.4.5 Jun 23, 2023 v0.4.4 Jan 12, 2023 Changes in this version + const DefaultCapacity + func NewControllerServer(lvmctrld pb.LvmCtrldClient, volumeLock VolumeLocker, diskRpc diskrpc.DiskRpc, ...) (*controllerServer, error) + func NewFileSystemRegistry() (*fileSystemRegistry, error) + func NewIdentityServer(drvName, version string) (*identityServer, error) + func NewNodeServer(lvmctrld pb.LvmCtrldClient, volumeLock VolumeLocker, ...) (*nodeServer, error) + type DiskRpcService struct + func NewDiskRpcService(lvmctrld pb.LvmCtrldClient, locker VolumeLocker) (*DiskRpcService, error) + func (s *DiskRpcService) Start() error + type FileSystem interface + Accepts func(accessType VolumeAccessType) bool + Grow func(device string) error + Make func(device string) error + Publish func(device, stagePoint, mountPoint string, readOnly bool) error + Stage func(device, stagePoint string, flags []string, grpID *int) error + Unpublish func(mountPoint string) error + Unstage func(stagePoint string) error + func NewFileSystem(fs string) (FileSystem, error) + type FileSystemRegistry interface + GetFileSystem func(filesystem string) (FileSystem, error) + type Listener struct + func NewListener(addr string, is *identityServer, ns *nodeServer, cs *controllerServer) (*Listener, error) + func (l *Listener) Run() error + type LogVolType string + const SnapshotVolType + const TemporaryVolType + const VolumeVolType + type LvmCtrldClientConnection struct + func NewLvmCtrldClient(address string) (*LvmCtrldClientConnection, error) + func (c *LvmCtrldClientConnection) Close() error + func (c *LvmCtrldClientConnection) Wait() error + type RpcRole string + type TagKey string + type VolumeAccessType int + const BlockAccessFsName + const BlockAccessType + const MountAccessType + type VolumeInfo struct + func NewVolumeInfoFromLv(lv *pb.LogicalVolume) *VolumeInfo + func (v *VolumeInfo) OriginRef() *VolumeRef + func (v *VolumeInfo) String() string + func (v *VolumeInfo) Tags() (map[TagKey]string, error) + type VolumeLocker interface + GetOwner func(ctx context.Context, ref VolumeRef) (diskrpc.MailBoxID, string, error) + LockVolume func(ctx context.Context, vol VolumeRef, op string) error + UnlockVolume func(ctx context.Context, vol VolumeRef, op string) error + func NewVolumeLocker(lvmctrld pb.LvmCtrldClient, nodeName string) (VolumeLocker, error) + type VolumeRef struct + LvName string + VgName string + func NewVolumeRefFromID(volumeID string) (*VolumeRef, error) + func NewVolumeRefFromLv(lv *pb.LogicalVolume) *VolumeRef + func NewVolumeRefFromVgTypeName(vg string, t LogVolType, name string) *VolumeRef + func (v *VolumeRef) DevPath() string + func (v *VolumeRef) ID() string + func (v *VolumeRef) Lv() string + func (v *VolumeRef) String() string + func (v *VolumeRef) Vg() string + func (v *VolumeRef) VgLv() string