replica

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Feb 22, 2019 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	OpCoalesce = "coalesce" // Source is parent, target is child
	OpRemove   = "remove"
	OpReplace  = "replace"
)
View Source
const (
	Initial    = State("initial")
	Open       = State("open")
	Closed     = State("closed")
	Dirty      = State("dirty")
	Rebuilding = State("rebuilding")
	Error      = State("error")
)

Variables

This section is empty.

Functions

func GenerateSnapshotDiskName added in v0.2.0

func GenerateSnapshotDiskName(name string) string

func GetSnapshotNameFromDiskName added in v0.3.0

func GetSnapshotNameFromDiskName(diskName string) (string, error)

func IsHeadDisk added in v0.3.0

func IsHeadDisk(diskName string) bool

Types

type BackingFile

type BackingFile struct {
	Size       int64
	SectorSize int64
	Name       string
	Disk       types.DiffDisk
}

type Backup added in v0.2.0

type Backup struct {
	// contains filtered or unexported fields
}

func NewBackup added in v0.2.0

func NewBackup(backingFile *BackingFile) *Backup

func (*Backup) CloseSnapshot added in v0.2.0

func (rb *Backup) CloseSnapshot(snapID, volumeID string) error

func (*Backup) CompareSnapshot added in v0.2.0

func (rb *Backup) CompareSnapshot(snapID, compareSnapID, volumeID string) (*backupstore.Mappings, error)

func (*Backup) HasSnapshot added in v0.2.0

func (rb *Backup) HasSnapshot(snapID, volumeID string) bool

func (*Backup) OpenSnapshot added in v0.2.0

func (rb *Backup) OpenSnapshot(snapID, volumeID string) error

func (*Backup) ReadSnapshot added in v0.2.0

func (rb *Backup) ReadSnapshot(snapID, volumeID string, start int64, data []byte) error

type DiskInfo added in v0.3.0

type DiskInfo struct {
	Name        string              `json:"name"`
	Parent      string              `json:"parent"`
	Children    map[string]struct{} `json:"children"`
	Removed     bool                `json:"removed"`
	UserCreated bool                `json:"usercreated"`
	Created     string              `json:"created"`
	Size        string              `json:"size"`
	Labels      map[string]string   `json:"labels"`
}

type Info

type Info struct {
	Size            int64
	Head            string
	Dirty           bool
	Rebuilding      bool
	Parent          string
	SectorSize      int64
	BackingFileName string
	BackingFile     *BackingFile `json:"-"`
}

func ReadInfo

func ReadInfo(dir string) (Info, error)

type PrepareRemoveAction added in v0.2.0

type PrepareRemoveAction struct {
	Action string `json:"action"`
	Source string `json:"source"`
	Target string `json:"target"`
}

type Replica

type Replica struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

func New

func New(size, sectorSize int64, dir string, backingFile *BackingFile) (*Replica, error)

func NewReadOnly added in v0.2.0

func NewReadOnly(dir, head string, backingFile *BackingFile) (*Replica, error)

func (*Replica) Chain

func (r *Replica) Chain() ([]string, error)

func (*Replica) Close

func (r *Replica) Close() error

func (*Replica) Delete

func (r *Replica) Delete() error

func (*Replica) DisplayChain added in v0.2.0

func (r *Replica) DisplayChain() ([]string, error)

func (*Replica) GetRemainSnapshotCounts added in v0.3.0

func (r *Replica) GetRemainSnapshotCounts() int

func (*Replica) GetRevisionCounter added in v0.3.0

func (r *Replica) GetRevisionCounter() int64

func (*Replica) Info

func (r *Replica) Info() Info

func (*Replica) ListDisks added in v0.3.0

func (r *Replica) ListDisks() map[string]DiskInfo

func (*Replica) MarkDiskAsRemoved added in v0.3.0

func (r *Replica) MarkDiskAsRemoved(name string) error

func (*Replica) PrepareRemoveDisk added in v0.2.0

func (r *Replica) PrepareRemoveDisk(name string) ([]PrepareRemoveAction, error)

func (*Replica) ReadAt

func (r *Replica) ReadAt(buf []byte, offset int64) (int, error)

func (*Replica) Reload

func (r *Replica) Reload() (*Replica, error)

func (*Replica) RemoveDiffDisk

func (r *Replica) RemoveDiffDisk(name string, force bool) error

func (*Replica) ReplaceDisk added in v0.3.0

func (r *Replica) ReplaceDisk(target, source string) error

func (*Replica) Revert added in v0.2.0

func (r *Replica) Revert(name, created string) (*Replica, error)

func (*Replica) SetRebuilding

func (r *Replica) SetRebuilding(rebuilding bool) error

func (*Replica) SetRevisionCounter added in v0.3.0

func (r *Replica) SetRevisionCounter(counter int64) error

func (*Replica) Snapshot

func (r *Replica) Snapshot(name string, userCreated bool, created string, labels map[string]string) error

func (*Replica) WriteAt

func (r *Replica) WriteAt(buf []byte, offset int64) (int, error)

type Server

type Server struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

func NewServer

func NewServer(dir string, backing *BackingFile, sectorSize int64) *Server

func (*Server) Close

func (s *Server) Close() error

func (*Server) Create

func (s *Server) Create(size int64) error

func (*Server) Delete

func (s *Server) Delete() error

func (*Server) MarkDiskAsRemoved added in v0.3.0

func (s *Server) MarkDiskAsRemoved(name string) error

func (*Server) Open

func (s *Server) Open() error

func (*Server) PingResponse added in v0.3.0

func (s *Server) PingResponse() error

func (*Server) PrepareRemoveDisk added in v0.2.0

func (s *Server) PrepareRemoveDisk(name string) ([]PrepareRemoveAction, error)

func (*Server) ReadAt

func (s *Server) ReadAt(buf []byte, offset int64) (int, error)

func (*Server) Reload

func (s *Server) Reload() error

func (*Server) RemoveDiffDisk

func (s *Server) RemoveDiffDisk(name string, force bool) error

func (*Server) ReplaceDisk added in v0.3.0

func (s *Server) ReplaceDisk(target, source string) error

func (*Server) Replica

func (s *Server) Replica() *Replica

func (*Server) Restore added in v0.3.0

func (s *Server) Restore(url, name string) (err error)

func (*Server) Revert added in v0.2.0

func (s *Server) Revert(name, created string) error

func (*Server) SetRebuilding

func (s *Server) SetRebuilding(rebuilding bool) error

func (*Server) SetRevisionCounter added in v0.3.0

func (s *Server) SetRevisionCounter(counter int64) error

func (*Server) Snapshot

func (s *Server) Snapshot(name string, userCreated bool, createdTime string, labels map[string]string) error

func (*Server) Status

func (s *Server) Status() (State, Info)

func (*Server) WriteAt

func (s *Server) WriteAt(buf []byte, offset int64) (int, error)

type State

type State string

type UsedGenerator added in v0.2.0

type UsedGenerator struct {
	// contains filtered or unexported fields
}

func (*UsedGenerator) Err added in v0.2.0

func (u *UsedGenerator) Err() error

func (*UsedGenerator) Generate added in v0.2.0

func (u *UsedGenerator) Generate() <-chan int64

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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